
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

int display_debug_loc(dwarf_section *section,void *file)

{
  uchar *puVar1;
  uchar *puVar2;
  dwarf_vma *pdVar3;
  dwarf_vma *pdVar4;
  int iVar5;
  bool bVar6;
  dwarf_vma dVar7;
  undefined *puVar8;
  bool bVar9;
  byte *pbVar10;
  char *pcVar11;
  uchar *puVar12;
  uchar *puVar13;
  char *pcVar14;
  dwarf_vma **ppdVar15;
  uint uVar16;
  bfd_boolean bVar17;
  char *pcVar18;
  debug_info *pdVar19;
  int iVar20;
  uint uVar21;
  uint uVar22;
  uint uVar23;
  uchar *puVar24;
  uchar *puVar25;
  uchar *puVar26;
  uchar *puVar27;
  undefined4 uVar28;
  char *pcVar29;
  byte bVar30;
  int iVar31;
  dwarf_section *section_1;
  dwarf_section *extraout_ECX;
  debug_info *pdVar32;
  FILE *pFVar33;
  uchar *puVar34;
  uint uVar35;
  uchar *puVar36;
  uchar *puVar37;
  byte *pbVar38;
  uchar *puVar39;
  uint uVar40;
  bool bVar41;
  bool bVar42;
  byte bVar43;
  elf_vma eVar44;
  ulonglong uVar45;
  ulonglong uVar46;
  dwarf_vma dVar47;
  dwarf_vma dVar48;
  dwarf_vma length;
  uint *puVar49;
  uchar *puVar50;
  _func_elf_vma_uchar_ptr_int **in_stack_fffffef4;
  undefined8 local_104;
  uint local_fc;
  uint local_f8;
  uchar *local_f4;
  uchar *local_f0;
  uchar *local_ec;
  int local_e8;
  dwarf_vma local_e4;
  undefined8 local_dc;
  uchar *local_d4;
  uint local_d0;
  int local_cc;
  uint local_c8;
  uint local_bc;
  uint local_b0;
  undefined8 local_ac;
  uint local_a4;
  uint local_94;
  uchar *local_8c;
  int local_7c;
  dwarf_section *local_74;
  uint local_68;
  void *local_5c;
  uint local_34;
  uchar *start;
  uchar *vstart;
  uint bytes_read;
  undefined4 uStack_14;
  
  bVar43 = 0;
  uStack_14 = 0x63029;
  vstart = (uchar *)0x0;
  puVar1 = section->start;
  pcVar11 = section->name;
  start = puVar1;
  pbVar10 = (byte *)strrchr(pcVar11,0x2e);
  local_68 = 0;
  bVar41 = false;
  bVar42 = pbVar10 == (byte *)0x0;
  if (!bVar42) {
    iVar31 = 5;
    pbVar38 = (byte *)0x9432f;
    do {
      if (iVar31 == 0) break;
      iVar31 = iVar31 + -1;
      bVar41 = *pbVar10 < *pbVar38;
      bVar42 = *pbVar10 == *pbVar38;
      pbVar10 = pbVar10 + (uint)bVar43 * -2 + 1;
      pbVar38 = pbVar38 + (uint)bVar43 * -2 + 1;
    } while (bVar42);
    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);
  }
  puVar2 = *(uchar **)&section->size;
  if (puVar2 == (uchar *)0x0) {
    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);
    printf(pcVar14,pcVar11);
    return 0;
  }
  pcVar14 = "debug_loclists";
  pcVar11 = strstr(pcVar11,"debug_loclists");
  if (pcVar11 != (char *)0x0) {
    puVar50 = puVar1 + 4;
    puVar34 = puVar1 + (int)puVar2;
    local_d4 = puVar50;
    if (puVar50 < puVar34) {
      puVar12 = (uchar *)0x4;
LAB_000630f8:
      in_stack_fffffef4 = &byte_get;
      eVar44 = (*byte_get)(puVar1,(int)puVar12);
      if (eVar44 == 0xffffffff) {
        local_d4 = puVar1 + 0xc;
        if (local_d4 < puVar34) {
          puVar12 = (uchar *)0x8;
        }
        else {
          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;
          puVar12 = puVar2 + -4;
        }
        (**in_stack_fffffef4)(puVar50,(int)puVar12);
      }
      puVar50 = local_d4 + 2;
      if (puVar50 < puVar34) {
        puVar12 = (uchar *)0x2;
      }
      else if ((puVar34 <= local_d4) ||
              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;
LAB_0006315d:
      eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12);
      if ((ushort)eVar44 == 5) {
        puVar36 = local_d4 + 3;
        if (puVar36 < puVar34) {
          puVar13 = (uchar *)0x1;
LAB_000631c0:
          (**in_stack_fffffef4)(puVar50,(int)puVar13);
          if (local_d4 + 4 < puVar34) goto LAB_000633ff;
          puVar12 = puVar13;
          if ((puVar36 < puVar34) &&
             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))
          goto LAB_00063404;
LAB_000631f5:
          pcVar14 = (char *)puVar12;
          if (local_d4 + 8 < puVar34) goto LAB_000631fc;
        }
        else {
          if ((puVar50 < puVar34) &&
             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;
          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;
LAB_000633ff:
          pcVar14 = (char *)0x1;
LAB_00063404:
          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);
          uVar35 = (uint)eVar44;
          if ((char)eVar44 != '\0') {
            pcVar11 = section->name;
            pcVar14 = (char *)dcgettext(0,
                                        "The %s section contains unsupported segment selector size: %d.\n"
                                        ,5);
            uVar35 = uVar35 & 0xff;
            goto LAB_0006500d;
          }
          if (local_d4 + 8 < puVar34) {
LAB_000631fc:
            puVar34 = (uchar *)0x4;
          }
          else if ((puVar34 <= local_d4 + 4) ||
                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))
          goto LAB_00063219;
          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);
          uVar35 = (uint)eVar44;
          pcVar14 = (char *)puVar34;
          if (uVar35 != 0) {
            pcVar14 = section->name;
            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";
            goto LAB_00063189;
          }
        }
LAB_00063219:
        local_d4 = local_d4 + (8 - (int)puVar1);
        local_d0 = (int)local_d4 >> 0x1f;
        goto LAB_0006322d;
      }
      uVar35 = (uint)(ushort)eVar44;
    }
    else {
      if ((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)) goto LAB_000630f8;
LAB_00063148:
      puVar50 = local_d4 + 2;
      if (puVar50 < puVar34) {
        in_stack_fffffef4 = &byte_get;
        puVar12 = (uchar *)0x2;
        goto LAB_0006315d;
      }
LAB_00063137:
      uVar35 = 0;
    }
    pcVar14 = section->name;
    pcVar11 = "The %s section contains corrupt or unsupported version number: %d.\n";
LAB_00063189:
    pcVar11 = (char *)dcgettext(0,pcVar11,5);
    warn(pcVar11,pcVar14,uVar35);
    return 0;
  }
  local_d4 = (uchar *)0x0;
  local_d0 = 0;
LAB_0006322d:
  uVar35 = load_debug_info(in_stack_fffffef4);
  if (uVar35 == 0) {
    pcVar11 = section->name;
    uVar35 = 5;
    pcVar14 = (char *)dcgettext(0,
                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"
                                ,5);
LAB_0006500d:
    warn(pcVar14,pcVar11,uVar35);
    return 0;
  }
  if (num_debug_info_entries == 0) {
    local_dc._0_4_ = 0;
    local_8c = (uchar *)0x0;
    local_74 = (dwarf_section *)0x1;
    local_cc = 0;
  }
  else {
    bVar41 = false;
    local_f0 = (uchar *)0x0;
    local_8c = (uchar *)0x0;
    ppdVar15 = &debug_information->loc_offsets;
    local_74 = (dwarf_section *)0x1;
    local_f4 = (uchar *)0x0;
    uVar35 = 0;
    local_dc._0_4_ = 0;
    do {
      uVar40 = (uint)ppdVar15[3];
      if ((uint)local_dc < uVar40) {
        local_dc._0_4_ = uVar40;
      }
      if ((uVar40 != 0) && (local_74 != (dwarf_section *)0x0)) {
        if (!bVar41) {
          uVar35 = (uint)**ppdVar15;
          local_f4 = (uchar *)*ppdVar15[1];
          local_8c = local_f0;
        }
        uVar16 = (uint)!bVar41;
        if (uVar16 < uVar40) {
          pdVar3 = *ppdVar15;
          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);
          uVar22 = uVar35;
          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {
            uVar21 = (uint)pdVar3[uVar16];
            do {
              uVar35 = uVar21;
              uVar21 = (uint)ppdVar15[1][uVar16];
              if ((uVar23 == 0 && uVar22 == uVar35) &&
                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;
              uVar16 = uVar16 + 1;
              local_f4 = (uchar *)uVar21;
              if (uVar40 == uVar16) goto LAB_00063450;
              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);
              uVar22 = uVar35;
              uVar21 = (uint)pdVar3[uVar16];
            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);
          }
          local_74 = (dwarf_section *)0x0;
          bVar41 = true;
          uVar35 = uVar22;
        }
        else {
LAB_00063450:
          local_74 = (dwarf_section *)0x1;
          bVar41 = true;
        }
      }
      local_f0 = local_f0 + 1;
      ppdVar15 = ppdVar15 + 0x14;
    } while ((uchar *)num_debug_info_entries != local_f0);
    local_cc = (int)local_8c * 0x50;
    if (bVar41) goto LAB_00063484;
  }
  pcVar14 = "No location lists in .debug_info section!\n";
  pcVar18 = (char *)dcgettext(0,"No location lists in .debug_info section!\n",5);
  error(pcVar18);
LAB_00063484:
  if (((*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0) &&
      (puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),
      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50)) &&
     (puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc),
     local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49)) {
    pcVar18 = dwarf_vmatoa_1("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50);
    pcVar14 = section->name;
    pcVar29 = (char *)dcgettext(0,"Location lists in %s section start at 0x%s\n",5);
    warn(pcVar29,pcVar14,pcVar18);
  }
  local_5c = (void *)0x0;
  section_1 = local_74;
  if (local_74 == (dwarf_section *)0x0) {
    local_5c = xcmalloc((uint)local_dc,4);
    section_1 = extraout_ECX;
  }
  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);
  bVar17 = reloc_at(section,0);
  if (bVar17 != 0) {
    pcVar14 = (char *)dcgettext(0,
                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"
                                ,5);
    printf(pcVar14);
  }
  pcVar14 = "    Offset   Begin            End              Expression\n";
  puVar50 = (uchar *)0x5;
  pcVar18 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);
  printf(pcVar18);
  puVar8 = PTR_stdout_000b3fd8;
  if (local_8c < num_debug_info_entries) {
    bVar41 = false;
    pdVar19 = debug_information;
    do {
      pdVar32 = pdVar19 + (int)local_8c;
      puVar34 = (uchar *)pdVar32->num_loc_offsets;
      if (local_74 == (dwarf_section *)0x0) {
        if (puVar34 != (uchar *)0x0) {
          puVar50 = (uchar *)0x0;
          do {
            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;
            puVar34 = (uchar *)pdVar32->num_loc_offsets;
            puVar50 = puVar50 + 1;
          } while (puVar50 < puVar34);
        }
        loc_offsets = pdVar32->loc_offsets;
        loc_views = pdVar32->loc_views;
        puVar50 = (uchar *)0x4;
        pcVar14 = (char *)puVar34;
        qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);
        pdVar32 = debug_information + (int)local_8c;
        puVar34 = (uchar *)pdVar32->num_loc_offsets;
        pdVar19 = debug_information;
      }
      bVar42 = true;
      local_f0 = (uchar *)0x0;
      if (puVar34 != (uchar *)0x0) {
LAB_00063757:
        pdVar3 = pdVar32->loc_views;
        pdVar4 = pdVar32->loc_offsets;
        if (local_74 == (dwarf_section *)0x0) {
          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);
          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);
          pcVar18 = *(char **)(pdVar4 + (int)local_ec);
          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);
          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);
          if (local_f0 != (uchar *)0x0) {
            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;
            goto LAB_0006389e;
          }
          iVar31 = (int)local_ec << 2;
LAB_000635f2:
          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);
          puVar36 = puVar1 + (int)pcVar18;
          local_e4 = pdVar32->base_address;
          puVar12 = (uchar *)pcVar18;
          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {
            local_ec = (uchar *)0x0;
            bVar6 = false;
          }
          else {
            local_ec = puVar1 + (int)puVar34;
            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;
            bVar6 = local_ec != (uchar *)0x0;
            if ((bVar9) &&
               (vstart = local_ec,
               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9
               , start == local_ec)) {
              start = vstart;
            }
          }
          puVar13 = start;
          if (bVar41 && bVar42) {
            if (start < puVar36) {
              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";
            }
            else {
              if (start <= puVar36) goto LAB_000636b8;
              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";
            }
            pcVar14 = (char *)dcgettext(0,pcVar14,5);
            puVar50 = (uchar *)pcVar18;
            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);
          }
LAB_000636b8:
          vstart = local_ec;
          start = puVar36;
          if ((puVar12 < puVar2) <= uVar35) {
            puVar50 = (uchar *)0x5;
            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5
                                       );
LAB_0006371f:
            warn(pcVar14);
            bVar41 = true;
            pcVar14 = pcVar18;
            pdVar19 = debug_information;
            goto LAB_0006373a;
          }
          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {
            puVar50 = (uchar *)0x5;
            pcVar14 = (char *)dcgettext(0,
                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"
                                       );
            pcVar18 = (char *)puVar34;
            goto LAB_0006371f;
          }
          if (pcVar11 == (char *)0x0) {
            puVar34 = section->start + (int)section->size;
            if (local_68 == 0) {
              if (num_debug_info_entries <= local_8c) {
                pcVar14 = "No debug information available for loc lists of entry: %u\n";
                goto LAB_00064bdb;
              }
              pdVar19 = debug_information + (int)local_8c;
              puVar13 = (uchar *)pdVar19->pointer_size;
              if (puVar13 + -2 < (uchar *)0x7) {
                dVar7 = pdVar19->cu_offset;
                uVar16 = pdVar19->offset_size;
                iVar5 = pdVar19->dwarf_version;
                uVar40 = (int)puVar13 * 8 - 1;
                bVar30 = (byte)uVar40;
                bVar43 = bVar30 & 0x1f;
                uVar21 = -2 << (bVar30 & 0x1f);
                uVar22 = uVar21;
                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;
                if ((uVar40 & 0x20) != 0) {
                  uVar22 = 0;
                  uVar23 = uVar21;
                }
                uVar22 = ~uVar22;
                uVar23 = ~uVar23;
                puVar39 = puVar36;
                puVar37 = local_ec;
                while( true ) {
                  uVar40 = (int)puVar39 - (int)start;
                  puVar24 = puVar12 + uVar40;
                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);
                  puVar50 = puVar39 + (int)puVar13 * 2;
                  if (puVar34 < puVar50) break;
                  printf("    %8.8lx ",puVar24);
                  puVar26 = puVar39 + (int)puVar13;
                  puVar25 = puVar13;
                  puVar27 = puVar13;
                  if (puVar26 < puVar34) {
LAB_00064528:
                    local_104 = (*byte_get)(puVar39,(int)puVar25);
                    if ((puVar50 == puVar34) &&
                       ((puVar34 <= puVar26 ||
                        (puVar27 = puVar34 + -(int)puVar26,
                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {
                      local_104._4_4_ = (uint)(local_104 >> 0x20);
                      local_dc = 0;
                      uVar40 = (uint)local_104;
                      uVar21 = local_104._4_4_;
                    }
                    else {
LAB_00064624:
                      local_dc = (*byte_get)(puVar26,(int)puVar27);
                      uVar40 = (uint)local_104 | (uint)local_dc;
                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);
                    }
                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;
                  }
                  else {
                    if (puVar34 <= puVar39) {
                      if (puVar50 == puVar34) goto LAB_00064230;
LAB_0006460a:
                      local_104 = 0;
                      goto LAB_00064624;
                    }
                    puVar25 = puVar34 + -(int)puVar39;
                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;
                    if (puVar50 != puVar34) goto LAB_0006460a;
LAB_00064230:
                    local_104 = 0;
                    local_dc = 0;
LAB_00064257:
                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));
                    if ((bVar17 == 0) &&
                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,
                                                                                 (uint)puVar24),
                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {
                      pcVar18 = "<End of list>\n";
                      puVar50 = (uchar *)0x5;
                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);
                      printf(pcVar14);
                      start = puVar26 + (int)puVar13;
                      vstart = puVar37;
                      goto LAB_000637dc;
                    }
                  }
                  puVar39 = puVar26 + (int)puVar13;
                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)
                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)
                     ) {
                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);
                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);
                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);
                    printf(pcVar14);
                    local_e4 = local_dc;
                  }
                  else {
                    if (puVar37 == (uchar *)0x0) {
                      local_ac = 0xffffffff;
                      local_a4 = 0xffffffff;
                      dVar47 = 0xffffffffffffffff;
                      bVar41 = puVar39 + 2 == puVar34;
                      if (puVar34 < puVar39 + 2) break;
                    }
                    else {
                      puVar24 = puVar12 + ((int)puVar37 - (int)start);
                      puVar50 = puVar37;
                      puVar49 = &bytes_read;
                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);
                      puVar37 = puVar37 + bytes_read;
                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))
                      ;
                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);
                      local_a4 = (uint)(dVar48 >> 0x20);
                      puVar37 = puVar37 + bytes_read;
                      local_ac = dVar48 & 0xffffffff;
                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);
                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);
                      printf(pcVar14,puVar24,8,&DAT_0007bc55);
                      bVar41 = puVar39 + 2 == puVar34;
                      if (puVar34 <= puVar39 + 2 && !bVar41) break;
                    }
                    local_b0 = (uint)(dVar47 >> 0x20);
                    local_bc = (uint)dVar47;
                    puVar24 = puVar39 + 2;
                    if ((bVar41) && (puVar34 <= puVar39)) {
                      local_94 = 0;
                      puVar39 = puVar34;
                    }
                    else {
                      eVar44 = (*byte_get)(puVar39,2);
                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);
                      if (puVar34 < puVar39) {
                        puVar50 = (uchar *)0x5;
                        pcVar14 = (char *)dcgettext(0,
                                                  "Location list starting at offset 0x%lx is not terminated.\n"
                                                  ,5);
                        warn(pcVar14);
                        start = puVar24;
                        vstart = puVar37;
                        goto LAB_000637dc;
                      }
                      local_94 = (uint)eVar44 & 0xffff;
                    }
                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);
                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);
                    putc(0x28,*(FILE **)puVar8);
                    iVar20 = decode_location_expression
                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,
                                        (ulonglong)(uint)dVar7,section);
                    putc(0x29,*(FILE **)puVar8);
                    if ((iVar20 != 0) && (iVar31 == 0)) {
                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);
                      printf(pcVar14);
                    }
                    pFVar33 = *(FILE **)puVar8;
                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||
                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {
                      if ((local_dc._4_4_ < local_104._4_4_ ||
                           local_dc._4_4_ - local_104._4_4_ <
                           (uint)((uint)local_dc < (uint)local_104)) ||
                         ((local_a4 < local_b0 ||
                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&
                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))
                         ) {
                        pcVar14 = (char *)dcgettext(0," (start > end)",5);
                        fputs(pcVar14,pFVar33);
                        pFVar33 = *(FILE **)puVar8;
                      }
                    }
                    else {
                      pcVar14 = (char *)dcgettext(0," (start == end)",5);
                      fputs(pcVar14,pFVar33);
                      pFVar33 = *(FILE **)puVar8;
                    }
                    putc(10,pFVar33);
                  }
                }
                puVar50 = (uchar *)0x5;
                pcVar14 = (char *)dcgettext(0,
                                            "Location list starting at offset 0x%lx is not terminated.\n"
                                            ,5);
                warn(pcVar14);
                start = puVar39;
                vstart = puVar37;
              }
              else {
                pcVar14 = (char *)dcgettext(0,
                                            "Invalid pointer size (%d) in debug info for entry %d\n"
                                            ,5);
                puVar50 = local_8c;
                warn(pcVar14,puVar13,local_8c);
                pcVar18 = (char *)puVar13;
              }
            }
            else if (local_8c < num_debug_info_entries) {
              pdVar19 = debug_information + (int)local_8c;
              puVar13 = (uchar *)pdVar19->pointer_size;
              if (puVar13 + -2 < (uchar *)0x7) {
                dVar7 = pdVar19->cu_offset;
                uVar40 = pdVar19->offset_size;
                iVar5 = pdVar19->dwarf_version;
                puVar37 = puVar36;
                puVar39 = local_ec;
LAB_00063ec0:
                do {
                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));
                  if (puVar34 <= puVar37) goto LAB_00064ec7;
                  puVar24 = puVar37 + 1;
                  uVar16 = local_68;
                  if ((puVar34 <= puVar24) &&
                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))
                  {
_L4116:
                    pcVar18 = "<End of list>\n";
                    puVar50 = (uchar *)0x5;
                    start = puVar24;
                    vstart = puVar39;
                    pcVar14 = (char *)dcgettext(0);
                    printf(pcVar14,pcVar18,puVar50);
                    goto LAB_000637dc;
                  }
                  eVar44 = (*byte_get)(puVar37,uVar16);
                  puVar26 = (uchar *)eVar44;
                  if (puVar39 != (uchar *)0x0) {
                    if (puVar26 + -2 < (uchar *)0x3) {
                      puVar27 = puVar12 + ((int)puVar39 - (int)start);
                      puVar50 = puVar39;
                      puVar49 = &bytes_read;
                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);
                      puVar39 = puVar39 + bytes_read;
                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))
                      ;
                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);
                      puVar39 = puVar39 + bytes_read;
                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));
                      puVar50 = (uchar *)0x5;
                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);
                      printf(pcVar14,puVar27,8,&DAT_0007bc55);
                      switch(puVar26) {
                      case (uchar *)0x2:
                        goto _L4123;
                      case (uchar *)0x3:
                        goto _L4122;
                      case (uchar *)0x4:
                        goto _L4120;
                      }
                    }
                    else {
                      switch(puVar26) {
                      case (uchar *)0x0:
                        goto _L4116;
                      case (uchar *)0x1:
                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);
                        uVar16 = bytes_read;
                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));
                        uVar28 = 0x15;
                        goto LAB_00064b2b;
                      }
                    }
switchD_000648e8_caseD_3:
                    puVar50 = (uchar *)0x5;
                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);
                    warn(pcVar14);
                    pcVar18 = (char *)puVar26;
                    start = puVar24;
                    vstart = puVar39;
                    goto LAB_000637dc;
                  }
                  switch(puVar26) {
                  case (uchar *)0x0:
                    goto _L4116;
                  case (uchar *)0x1:
                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);
                    uVar16 = bytes_read;
                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));
                    uVar28 = 9;
LAB_00064b2b:
                    puVar37 = puVar24 + uVar16;
                    printf("%*s",uVar28,&DAT_0007bc55);
                    puVar50 = (uchar *)0x5;
                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);
                    printf(pcVar14);
                    goto LAB_00063ec0;
                  case (uchar *)0x2:
_L4123:
                    puVar50 = (uchar *)0x0;
                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);
                    puVar24 = puVar24 + bytes_read;
                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));
                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);
                    puVar37 = puVar24 + bytes_read;
                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));
                    break;
                  case (uchar *)0x3:
_L4122:
                    puVar50 = (uchar *)0x0;
                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);
                    puVar24 = puVar24 + bytes_read;
                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));
                    puVar37 = puVar24 + 4;
                    if (puVar37 < puVar34) {
                      iVar20 = 4;
LAB_00064e5d:
                      eVar44 = (*byte_get)(puVar24,iVar20);
                      uVar28 = (undefined4)eVar44;
                    }
                    else {
                      uVar28 = 0;
                      if ((puVar24 < puVar34) &&
                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;
                    }
                    printf("%08x ",uVar28);
                    break;
                  case (uchar *)0x4:
_L4120:
                    puVar26 = puVar37 + 5;
                    if (puVar26 < puVar34) {
                      eVar44 = (*byte_get)(puVar24,4);
                      printf("%08x ",(int)eVar44);
                      puVar27 = puVar50;
                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;
                      iVar20 = (int)puVar34 - (int)puVar26;
                      if (7 < iVar20 - 1U) {
                        uVar28 = 0;
                        goto LAB_00064ae3;
                      }
LAB_00064ad5:
                      eVar44 = (*byte_get)(puVar26,iVar20);
                      uVar28 = (undefined4)eVar44;
                    }
                    else {
                      if (puVar24 < puVar34) {
                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);
                        if (puVar27 < (uchar *)0x8) {
                          puVar50 = puVar27;
                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);
                          printf("%08x ",(int)eVar44,puVar27,puVar50);
                          uVar28 = 0;
                          puVar50 = puVar27;
                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;
                          goto LAB_00064ad0;
                        }
                      }
                      printf("%08x ",0);
                      uVar28 = 0;
                      puVar27 = puVar50;
                      if (puVar37 + 9 < puVar34) {
LAB_00064ad0:
                        iVar20 = 4;
                        puVar50 = puVar27;
                        goto LAB_00064ad5;
                      }
                    }
LAB_00064ae3:
                    puVar37 = puVar37 + 9;
                    printf("%08x ",uVar28,puVar50);
                    break;
                  default:
                    goto switchD_000648e8_caseD_3;
                  }
                  puVar24 = puVar37 + 2;
                  if (puVar34 < puVar24) goto LAB_00064ec7;
                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {
                    local_34 = 0;
                    puVar37 = puVar34;
                  }
                  else {
                    eVar44 = (*byte_get)(puVar37,2);
                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);
                    if (puVar34 < puVar37) {
                      puVar50 = (uchar *)0x5;
                      pcVar14 = (char *)dcgettext(0,
                                                  "Location list starting at offset 0x%lx is not terminated.\n"
                                                 );
                      warn(pcVar14);
                      start = puVar24;
                      vstart = puVar39;
                      goto LAB_000637dc;
                    }
                    local_34 = (uint)eVar44 & 0xffff;
                  }
                  putc(0x28,*(FILE **)puVar8);
                  iVar20 = decode_location_expression
                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,
                                      (ulonglong)(uint)dVar7,section);
                  putc(0x29,*(FILE **)puVar8);
                  if ((iVar20 != 0) && (iVar31 == 0)) {
                    pcVar14 = " [without DW_AT_frame_base]";
                    puVar50 = (uchar *)0x5;
                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");
                    printf(pcVar29,pcVar14,puVar50);
                  }
                  putc(10,*(FILE **)puVar8);
                } while( true );
              }
              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"
                                          ,5);
              puVar50 = local_8c;
              warn(pcVar14,puVar13,local_8c);
              pcVar18 = (char *)puVar13;
            }
            else {
              pcVar14 = "No debug information for loc lists of entry: %u\n";
LAB_00064bdb:
              puVar50 = (uchar *)0x5;
              pcVar14 = (char *)dcgettext(0,pcVar14);
              pcVar18 = (char *)local_8c;
              warn(pcVar14);
            }
          }
          else if (local_68 == 0) {
            if (num_debug_info_entries <= local_8c) {
              pcVar14 = "No debug information available for loclists lists of entry: %u\n";
              goto LAB_00064bdb;
            }
            pdVar19 = debug_information + (int)local_8c;
            puVar34 = (uchar *)pdVar19->pointer_size;
            if (puVar34 + -2 < (uchar *)0x7) {
              uVar46 = 0xffffffffffffffff;
              local_dc = 0xffffffff;
              dVar7 = pdVar19->cu_offset;
              local_c8 = -1;
              puVar37 = section->start + (int)section->size;
              uVar40 = pdVar19->offset_size;
              iVar5 = pdVar19->dwarf_version;
              puVar13 = puVar36;
              local_f4 = local_ec;
              puVar50 = puVar12;
              while( true ) {
                puVar39 = puVar13 + 1;
                uVar45 = CONCAT44(local_c8,(int)local_dc);
                if (puVar37 < puVar39) break;
                printf("    %8.8lx ",puVar12);
                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {
LAB_000639ce:
                  pcVar18 = "<End of list>\n";
                  puVar50 = (uchar *)0x5;
                  pcVar14 = (char *)dcgettext(0);
                  printf(pcVar14,pcVar18,puVar50);
                  puVar13 = puVar39;
                  goto LAB_000639ec;
                }
                eVar44 = (*byte_get)(puVar13,1);
                puVar12 = (uchar *)eVar44;
                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {
                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;
                  if (puVar12 < (uchar *)0x5) {
                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;
LAB_00063e0a:
                    puVar50 = (uchar *)0x5;
                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");
                    error(pcVar14);
                    pcVar18 = (char *)puVar12;
                    goto LAB_000637dc;
                  }
                  if (puVar12 == (uchar *)0x6) {
                    puVar13 = puVar39 + (int)puVar34;
                    puVar12 = puVar34;
                    if ((puVar13 < puVar37) ||
                       ((local_e4 = 0, puVar39 < puVar37 &&
                        (puVar12 = puVar37 + -(int)puVar39,
                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {
                      local_e4 = (*byte_get)(puVar39,(int)puVar12);
                    }
                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);
                    pcVar14 = "(base address)\n";
                  }
                  else {
                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;
                    if (local_f4 != (uchar *)0x0) {
                      pcVar14 = (char *)dcgettext(0,
                                                  "View pair entry in loclist with locviews attribute\n"
                                                  ,5);
                      printf(pcVar14);
                    }
                    puVar12 = puVar39;
                    puVar49 = &bytes_read;
                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);
                    local_c8 = (uint)(dVar47 >> 0x20);
                    puVar39 = puVar39 + bytes_read;
                    local_dc = dVar47 & 0xffffffff;
                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);
                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);
                    puVar13 = puVar39 + bytes_read;
                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));
                    pcVar14 = "views for:\n";
                  }
                  pcVar14 = (char *)dcgettext(0,pcVar14,5);
                  printf(pcVar14);
                }
                else {
                  puVar13 = puVar50 + ((int)local_f4 - (int)start);
                  puVar12 = local_f4;
                  puVar49 = &bytes_read;
                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);
                  local_f4 = local_f4 + bytes_read;
                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));
                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);
                  local_f4 = local_f4 + bytes_read;
                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));
                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);
                  printf(pcVar14,puVar13,8,&DAT_0007bc55);
LAB_00063b0b:
                  local_c8 = (uint)(uVar45 >> 0x20);
                  local_dc._0_4_ = (uint)uVar45;
                  local_b0 = (uint)(uVar46 >> 0x20);
                  local_bc = (uint)uVar46;
                  puVar49 = &bytes_read;
                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);
                  puVar39 = puVar39 + bytes_read;
                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);
                  puVar13 = puVar39 + bytes_read;
                  if (puVar37 < puVar13 + 2) {
                    puVar50 = (uchar *)0x5;
                    pcVar14 = (char *)dcgettext(0,
                                                "Location list starting at offset 0x%lx is not terminated.\n"
                                               );
                    warn(pcVar14);
                    goto LAB_000639ec;
                  }
                  puVar12 = puVar13;
                  length = read_leb128(puVar13,puVar49,0,puVar37);
                  puVar13 = puVar13 + bytes_read;
                  local_fc = (uint)dVar47;
                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);
                  local_ac._0_4_ = (uint)dVar48;
                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);
                  putc(0x28,*(FILE **)puVar8);
                  local_7c = (int)length;
                  iVar20 = decode_location_expression
                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,
                                      (ulonglong)(uint)dVar7,section);
                  putc(0x29,*(FILE **)puVar8);
                  if ((iVar20 != 0) && (iVar31 == 0)) {
                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);
                    printf(pcVar14);
                  }
                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);
                  local_f8 = (uint)(dVar47 >> 0x20);
                  pFVar33 = *(FILE **)puVar8;
                  if ((uVar46 != uVar45) ||
                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {
                    if ((local_ac._4_4_ < local_f8 ||
                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||
                       ((local_b0 < local_c8 ||
                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&
                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {
                      pcVar14 = (char *)dcgettext(0," (start > end)",5);
                      fputs(pcVar14,pFVar33);
                      pFVar33 = *(FILE **)puVar8;
                    }
                  }
                  else {
                    pcVar14 = (char *)dcgettext(0," (start == end)",5);
                    fputs(pcVar14,pFVar33);
                    pFVar33 = *(FILE **)puVar8;
                  }
                  putc(10,pFVar33);
                  puVar13 = puVar13 + local_7c;
                  uVar46 = 0xffffffffffffffff;
                  local_dc = 0xffffffff;
                  local_c8 = -1;
                }
                puVar12 = puVar50 + ((int)puVar13 - (int)start);
              }
              puVar50 = (uchar *)0x5;
              pcVar14 = (char *)dcgettext(0,
                                          "Location list starting at offset 0x%lx is not terminated.\n"
                                         );
              warn(pcVar14);
LAB_000639ec:
              if ((uVar46 & uVar45) != 0xffffffffffffffff) {
                pcVar18 = "Trailing view pair not used in a range";
                puVar50 = (uchar *)0x5;
                pcVar14 = (char *)dcgettext(0);
                printf(pcVar14,pcVar18,puVar50);
              }
              start = puVar13;
              vstart = local_f4;
            }
            else {
              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"
                                          ,5);
              puVar50 = local_8c;
              warn(pcVar14);
              pcVar18 = (char *)puVar34;
            }
          }
          else {
            pcVar18 = "DWO is not yet supported.\n";
            puVar50 = (uchar *)0x5;
            pcVar14 = (char *)dcgettext(0);
            warn(pcVar14);
          }
          goto LAB_000637dc;
        }
        if (local_f0 == (uchar *)0x0) {
          uVar35 = *(uint *)((int)pdVar4 + 4);
          pcVar18 = *(char **)pdVar4;
          puVar34 = *(uchar **)pdVar3;
          local_f4 = *(uchar **)((int)pdVar3 + 4);
          iVar31 = 0;
          goto LAB_000635f2;
        }
        local_ec = local_f0;
        pcVar18 = *(char **)(pdVar4 + (int)local_f0);
        local_e8 = (int)local_f0 * 8 + -8;
        uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);
        local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);
        puVar34 = *(uchar **)(pdVar3 + (int)local_f0);
LAB_0006389e:
        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||
             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||
           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||
            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {
          iVar31 = (int)local_ec << 2;
          goto LAB_000635f2;
        }
        goto LAB_0006373a;
      }
LAB_00063fc0:
      local_8c = local_8c + 1;
    } while (local_8c < num_debug_info_entries);
  }
  if (start < section->start + (int)section->size) {
    iVar31 = (int)(section->start + (int)section->size) - (int)start;
    pcVar11 = section->name;
    pcVar14 = (char *)dcngettext(0,"There is %ld unused byte at the end of section %s\n",
                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5);
    warn(pcVar14,iVar31,pcVar11);
  }
  putc(10,*(FILE **)puVar8);
  free(local_5c);
  return 1;
LAB_00064ec7:
  puVar50 = (uchar *)0x5;
  pcVar14 = (char *)dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n");
  warn(pcVar14);
  start = puVar37;
  vstart = puVar39;
LAB_000637dc:
  if ((bVar42) && (bVar6)) {
    if (start == local_ec) {
      bVar42 = true;
    }
    else {
      if (puVar36 == vstart) {
        bVar42 = true;
        bVar41 = true;
        pcVar14 = pcVar18;
        pdVar19 = debug_information;
        goto LAB_0006373a;
      }
      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";
      puVar50 = (uchar *)0x5;
      pcVar14 = (char *)dcgettext(0);
      warn(pcVar14);
      bVar42 = false;
LAB_00063833:
      if (start != local_ec) goto LAB_00063844;
    }
    display_view_pair_list(section,&start,(uint)vstart,(uchar *)pcVar18);
    bVar41 = true;
    pcVar14 = pcVar18;
    pdVar19 = debug_information;
  }
  else {
    if (local_ec != (uchar *)0x0) goto LAB_00063833;
LAB_00063844:
    bVar41 = true;
    pcVar14 = pcVar18;
    pdVar19 = debug_information;
  }
LAB_0006373a:
  pdVar32 = pdVar19 + (int)local_8c;
  local_f0 = (uchar *)((int)local_f0 + 1);
  if (pdVar32->num_loc_offsets <= local_f0) goto LAB_00063fc0;
  goto LAB_00063757;
}



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

undefined4 FUN_00063020(int param_1)

{
  uint uVar1;
  uint uVar2;
  uint *puVar3;
  uint uVar4;
  bool bVar5;
  bool bVar6;
  undefined *puVar7;
  byte bVar8;
  bool bVar9;
  ushort uVar10;
  byte *pbVar11;
  char *pcVar12;
  undefined4 uVar13;
  char *pcVar14;
  undefined4 uVar15;
  int iVar16;
  int *piVar17;
  int iVar18;
  uint uVar19;
  uint *puVar20;
  uint uVar21;
  uint uVar22;
  uint uVar23;
  int iVar24;
  uint uVar25;
  uint uVar26;
  uint uVar27;
  int iVar28;
  size_t __nmemb;
  undefined4 uVar29;
  byte bVar30;
  int iVar31;
  int iVar32;
  uint uVar33;
  int iVar34;
  FILE *pFVar35;
  uint uVar36;
  uint uVar37;
  uint uVar38;
  uint uVar39;
  byte *pbVar40;
  bool bVar41;
  bool bVar42;
  longlong lVar43;
  ulonglong uVar44;
  ulonglong uVar45;
  longlong lVar46;
  undefined8 uVar47;
  ulonglong uVar48;
  uint local_10c;
  uint local_108;
  uint local_104;
  uint local_100;
  int local_fc;
  uint local_f4;
  uint local_f0;
  uint local_ec;
  int local_e8;
  int *local_e4;
  int *local_dc;
  uint local_d8;
  int local_d4;
  int local_d0;
  int local_cc;
  uint local_c8;
  uint local_bc;
  uint local_b0;
  uint local_ac;
  uint local_a4;
  uint local_8c;
  uint local_7c;
  uint local_68;
  void *local_5c;
  uint local_28;
  uint local_24;
  int local_20 [3];
  undefined4 uStack_14;
  
  bVar8 = 0;
  uStack_14 = 0x63029;
  uVar19 = *(uint *)(param_1 + 0x10);
  pcVar12 = *(char **)(param_1 + 8);
  pbVar11 = (byte *)strrchr(pcVar12,0x2e);
  local_68 = 0;
  bVar41 = false;
  bVar42 = pbVar11 == (byte *)0x0;
  if (!bVar42) {
    iVar31 = 5;
    pbVar40 = (byte *)0x9432f;
    do {
      if (iVar31 == 0) break;
      iVar31 = iVar31 + -1;
      bVar41 = *pbVar11 < *pbVar40;
      bVar42 = *pbVar11 == *pbVar40;
      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;
      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;
    } while (bVar42);
    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);
  }
  uVar2 = *(uint *)(param_1 + 0x1c);
  if (uVar2 == 0) {
    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);
    printf(pcVar14,pcVar12);
    return 0;
  }
  pcVar12 = strstr(pcVar12,"debug_loclists");
  if (pcVar12 != (char *)0x0) {
    uVar38 = uVar19 + 4;
    uVar37 = uVar19 + uVar2;
    uVar39 = uVar38;
    if (uVar38 < uVar37) {
      uVar36 = 4;
LAB_000630f8:
      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);
      if (lVar43 == 0xffffffff) {
        uVar39 = uVar19 + 0xc;
        if (uVar39 < uVar37) {
          iVar31 = 8;
        }
        else {
          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;
          iVar31 = uVar2 - 4;
        }
        (*DAT_000b9dd8)(uVar38,iVar31);
      }
      uVar38 = uVar39 + 2;
      if (uVar38 < uVar37) {
        iVar31 = 2;
      }
      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;
LAB_0006315d:
      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);
      if (uVar10 == 5) {
        uVar36 = uVar39 + 3;
        if (uVar36 < uVar37) {
          iVar31 = 1;
LAB_000631c0:
          (*DAT_000b9dd8)(uVar38,iVar31);
          if (uVar39 + 4 < uVar37) {
LAB_000633ff:
            iVar31 = 1;
          }
          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))
          goto LAB_000631f5;
          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);
          if (bVar8 != 0) {
            uVar15 = *(undefined4 *)(param_1 + 8);
            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",
                               5);
            uVar19 = (uint)bVar8;
            goto LAB_0006500d;
          }
          if (uVar39 + 8 < uVar37) goto LAB_000631fc;
          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))
          goto LAB_00063201;
        }
        else {
          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;
          if (uVar39 + 4 < uVar37) goto LAB_000633ff;
LAB_000631f5:
          if (uVar37 <= uVar39 + 8) goto LAB_00063219;
LAB_000631fc:
          iVar31 = 4;
LAB_00063201:
          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);
          if (uVar38 != 0) {
            uVar15 = *(undefined4 *)(param_1 + 8);
            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";
            goto LAB_00063189;
          }
        }
LAB_00063219:
        local_d4 = (uVar39 + 8) - uVar19;
        local_d0 = local_d4 >> 0x1f;
        goto LAB_0006322d;
      }
      uVar38 = (uint)uVar10;
    }
    else {
      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;
LAB_00063148:
      uVar38 = uVar39 + 2;
      if (uVar38 < uVar37) {
        iVar31 = 2;
        goto LAB_0006315d;
      }
LAB_00063137:
      uVar38 = 0;
    }
    uVar15 = *(undefined4 *)(param_1 + 8);
    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";
LAB_00063189:
    uVar13 = dcgettext(0,pcVar12,5);
    warn(uVar13,uVar15,uVar38);
    return 0;
  }
  local_d4 = 0;
  local_d0 = 0;
LAB_0006322d:
  iVar31 = FUN_00062460();
  if (iVar31 == 0) {
    uVar15 = *(undefined4 *)(param_1 + 8);
    uVar19 = 5;
    uVar13 = dcgettext(0,
                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"
                       ,5);
LAB_0006500d:
    warn(uVar13,uVar15,uVar19);
    return 0;
  }
  if (DAT_000b9d6c == 0) {
    local_dc = (int *)0x0;
    local_8c = 0;
    bVar41 = true;
    local_cc = 0;
  }
  else {
    bVar42 = false;
    local_f0 = 0;
    local_8c = 0;
    local_e4 = (int *)(DAT_000b9d64 + 0x2c);
    bVar41 = true;
    local_f4 = 0;
    local_104 = 0;
    local_dc = (int *)0x0;
    do {
      uVar38 = local_e4[3];
      if (local_dc < uVar38) {
        local_dc = (int *)uVar38;
      }
      if ((uVar38 != 0) && (bVar41)) {
        if (!bVar42) {
          local_104 = *(uint *)*local_e4;
          local_f4 = *(uint *)local_e4[1];
          local_8c = local_f0;
        }
        uVar39 = (uint)!bVar42;
        if (uVar39 < uVar38) {
          iVar31 = *local_e4;
          uVar37 = *(uint *)(iVar31 + uVar39 * 8);
          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);
          if ((uVar37 < local_104) <= uVar36) {
            do {
              uVar33 = uVar37;
              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);
              if ((uVar36 == 0 && local_104 == uVar33) &&
                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;
              uVar39 = uVar39 + 1;
              local_104 = uVar33;
              local_f4 = uVar37;
              if (uVar38 == uVar39) goto LAB_00063450;
              uVar37 = *(uint *)(iVar31 + uVar39 * 8);
              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);
            } while ((uVar37 < uVar33) <= uVar36);
          }
          bVar41 = false;
          bVar42 = true;
        }
        else {
LAB_00063450:
          bVar41 = true;
          bVar42 = true;
        }
      }
      local_f0 = local_f0 + 1;
      local_e4 = local_e4 + 0x14;
    } while (DAT_000b9d6c != local_f0);
    local_cc = local_8c * 0x50;
    if (bVar42) goto LAB_00063484;
  }
  uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);
  error(uVar15);
LAB_00063484:
  local_cc = DAT_000b9d64 + local_cc;
  if (((*(int *)(local_cc + 0x38) != 0) &&
      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&
     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {
    uVar13 = FUN_0004cb50(0);
    uVar15 = *(undefined4 *)(param_1 + 8);
    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);
    warn(uVar29,uVar15,uVar13);
  }
  local_5c = (void *)0x0;
  if (!bVar41) {
    local_5c = (void *)FUN_0005db00(local_dc,4);
  }
  FUN_0004eb80();
  iVar31 = FUN_00045000(param_1,0,0);
  if (iVar31 != 0) {
    pcVar14 = (char *)dcgettext(0,
                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"
                                ,5);
    printf(pcVar14);
  }
  pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);
  printf(pcVar14);
  puVar7 = PTR_stdout_000b3fd8;
  local_28 = uVar19;
  if (local_8c < DAT_000b9d6c) {
    local_fc = DAT_000b9d64;
    bVar42 = false;
    do {
      iVar31 = local_8c * 0x50;
      iVar34 = local_fc + iVar31;
      __nmemb = *(size_t *)(iVar34 + 0x38);
      if (!bVar41) {
        if (__nmemb != 0) {
          uVar38 = 0;
          do {
            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;
            __nmemb = *(uint *)(iVar34 + 0x38);
            uVar38 = uVar38 + 1;
          } while (uVar38 < __nmemb);
        }
        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);
        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);
        qsort(local_5c,__nmemb,4,FUN_0004c710);
        local_fc = DAT_000b9d64;
        iVar34 = iVar31 + DAT_000b9d64;
        __nmemb = *(size_t *)(iVar34 + 0x38);
      }
      bVar5 = true;
      local_f0 = 0;
      if (__nmemb != 0) {
LAB_00063757:
        puVar20 = *(uint **)(iVar34 + 0x30);
        puVar3 = *(uint **)(iVar34 + 0x2c);
        if (!bVar41) {
          local_ec = *(uint *)((int)local_5c + local_f0 * 4);
          local_108 = puVar3[local_ec * 2 + 1];
          local_10c = puVar3[local_ec * 2];
          uVar38 = puVar20[local_ec * 2];
          local_f4 = puVar20[local_ec * 2 + 1];
          if (local_f0 != 0) {
            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;
            goto LAB_0006389e;
          }
          iVar16 = local_ec << 2;
LAB_000635f2:
          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);
          uVar39 = uVar19 + local_10c;
          if ((local_f4 & uVar38) == 0xffffffff) {
            local_ec = 0;
            bVar6 = false;
          }
          else {
            local_ec = uVar19 + uVar38;
            bVar9 = local_ec < uVar39 && local_ec != 0;
            bVar6 = local_ec != 0;
            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {
              local_28 = local_ec;
            }
          }
          if (bVar42 && bVar5) {
            if (local_28 < uVar39) {
              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";
            }
            else {
              if (local_28 <= uVar39) goto LAB_000636b8;
              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";
            }
            uVar15 = dcgettext(0,pcVar14,5);
            warn(uVar15,local_28 - uVar19,local_10c);
          }
LAB_000636b8:
          local_24 = local_ec;
          local_28 = uVar39;
          if ((local_10c < uVar2) <= local_108) {
            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);
LAB_0006371f:
            warn(uVar15,local_10c);
            local_fc = DAT_000b9d64;
            bVar42 = true;
            goto LAB_0006373a;
          }
          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {
            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);
            local_10c = uVar38;
            goto LAB_0006371f;
          }
          if (pcVar12 == (char *)0x0) {
            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);
            if (local_68 == 0) {
              if (DAT_000b9d6c <= local_8c) {
                pcVar14 = "No debug information available for loc lists of entry: %u\n";
                goto LAB_00064bdb;
              }
              puVar20 = (uint *)(iVar31 + DAT_000b9d64);
              uVar37 = *puVar20;
              if (uVar37 - 2 < 7) {
                uVar33 = puVar20[3];
                uVar4 = puVar20[2];
                uVar36 = uVar37 * 8 - 1;
                bVar30 = (byte)uVar36;
                bVar8 = bVar30 & 0x1f;
                uVar21 = -2 << (bVar30 & 0x1f);
                uVar22 = uVar21;
                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;
                if ((uVar36 & 0x20) != 0) {
                  uVar22 = 0;
                  uVar23 = uVar21;
                }
                uVar22 = ~uVar22;
                local_7c = local_ec;
                uVar23 = ~uVar23;
                uVar36 = uVar39;
                while( true ) {
                  uVar21 = uVar36 - uVar39;
                  uVar25 = uVar21 + local_10c;
                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);
                  uVar21 = uVar36 + uVar37 * 2;
                  local_28 = uVar36;
                  if (uVar38 < uVar21) break;
                  printf("    %8.8lx ",uVar25);
                  uVar1 = uVar36 + uVar37;
                  uVar26 = uVar37;
                  uVar27 = uVar37;
                  if (uVar1 < uVar38) {
LAB_00064528:
                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);
                    uVar44 = uVar48;
                    if ((uVar21 == uVar38) &&
                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {
                      uVar45 = 0;
                    }
                    else {
LAB_00064624:
                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);
                      uVar48 = uVar44 | uVar45;
                    }
                    if (uVar48 == 0) goto LAB_00064257;
                  }
                  else {
                    if (uVar38 <= uVar36) {
                      if (uVar21 == uVar38) goto LAB_00064230;
LAB_0006460a:
                      uVar44 = 0;
                      goto LAB_00064624;
                    }
                    uVar26 = uVar38 - uVar36;
                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;
                    if (uVar21 != uVar38) goto LAB_0006460a;
LAB_00064230:
                    uVar44 = 0;
                    uVar45 = 0;
LAB_00064257:
                    local_28 = uVar1 + uVar37;
                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);
                    if ((iVar24 == 0) &&
                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,
                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {
                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);
                      printf(pcVar14);
                      goto LAB_000646df;
                    }
                  }
                  local_d8 = (uint)(uVar45 >> 0x20);
                  local_dc = (int *)uVar45;
                  local_100 = (uint)(uVar44 >> 0x20);
                  local_104 = (uint)uVar44;
                  uVar36 = uVar1 + uVar37;
                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&
                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {
                    FUN_0004ce60();
                    FUN_0004ce60();
                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);
                    printf(pcVar14);
                  }
                  else {
                    local_28 = uVar36;
                    if (local_7c == 0) {
                      lVar46 = -1;
                      lVar43 = -1;
                      bVar42 = uVar36 + 2 == uVar38;
                      if (uVar38 < uVar36 + 2) break;
                    }
                    else {
                      iVar16 = local_7c - uVar39;
                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);
                      iVar24 = local_7c + local_20[0];
                      FUN_0004ea80();
                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);
                      local_7c = iVar24 + local_20[0];
                      FUN_0004ea80();
                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);
                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);
                      bVar42 = uVar36 + 2 == uVar38;
                      if (uVar38 <= uVar36 + 2 && !bVar42) break;
                    }
                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);
                    local_ac = (uint)lVar46;
                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);
                    local_bc = (uint)lVar43;
                    local_28 = uVar36 + 2;
                    if ((bVar42) && (uVar38 <= uVar36)) {
                      uVar10 = 0;
                      uVar36 = uVar38;
                    }
                    else {
                      uVar10 = (*DAT_000b9dd8)(uVar36,2);
                      uVar36 = uVar10 + local_28;
                      if (uVar38 < uVar36) {
                        uVar15 = dcgettext(0,
                                           "Location list starting at offset 0x%lx is not terminated.\n"
                                           ,5);
                        warn(uVar15,local_10c);
                        goto LAB_000646df;
                      }
                    }
                    FUN_0004ce60();
                    FUN_0004ce60();
                    putc(0x28,*(FILE **)puVar7);
                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);
                    putc(0x29,*(FILE **)puVar7);
                    if ((iVar16 != 0) && (iVar34 == 0)) {
                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);
                      printf(pcVar14);
                    }
                    pFVar35 = *(FILE **)puVar7;
                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {
                      pcVar14 = (char *)dcgettext(0," (start == end)",5);
                      fputs(pcVar14,pFVar35);
                      pFVar35 = *(FILE **)puVar7;
                    }
                    else if ((local_d8 < local_100 ||
                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||
                            ((local_a4 < local_b0 ||
                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&
                             (uVar44 == uVar45)))) {
                      pcVar14 = (char *)dcgettext(0," (start > end)",5);
                      fputs(pcVar14,pFVar35);
                      pFVar35 = *(FILE **)puVar7;
                    }
                    putc(10,pFVar35);
                  }
                }
                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5
                                  );
                warn(uVar15,local_10c);
LAB_000646df:
                local_24 = local_7c;
              }
              else {
                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);
                warn(uVar15,uVar37,local_8c);
              }
            }
            else if (local_8c < DAT_000b9d6c) {
              piVar17 = (int *)(iVar31 + DAT_000b9d64);
              iVar16 = *piVar17;
              if (iVar16 - 2U < 7) {
                iVar16 = piVar17[3];
                iVar24 = piVar17[2];
                local_104 = local_ec;
                uVar37 = uVar39;
code_r0x00063ec0:
                do {
                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));
                  if (uVar38 <= uVar37) goto LAB_00064ec7;
                  local_28 = uVar37 + 1;
                  uVar36 = local_68;
                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))
                  {
code_r0x00063f01:
                    local_24 = local_104;
                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);
                    printf(pcVar14);
                    goto LAB_000637dc;
                  }
                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);
                  if (local_104 != 0) {
                    if (iVar28 - 2U < 3) {
                      iVar18 = local_104 - uVar39;
                      FUN_0004f990(local_104,local_20,0,uVar38);
                      iVar32 = local_104 + local_20[0];
                      FUN_0004ea80();
                      FUN_0004f990(iVar32,local_20,0,uVar38);
                      local_104 = iVar32 + local_20[0];
                      FUN_0004ea80();
                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);
                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);
                      switch(iVar28) {
                      case 2:
                        goto code_r0x00064a4b;
                      case 3:
                        goto code_r0x000648fb;
                      case 4:
                        goto code_r0x00064a90;
                      }
                    }
                    else {
                      switch(iVar28) {
                      case 0:
                        goto code_r0x00063f01;
                      case 1:
                        FUN_0004f990(local_28,local_20,0,uVar38);
                        iVar28 = local_20[0];
                        FUN_0004ea40();
                        uVar15 = 0x15;
                        goto code_r0x00064b2b;
                      }
                    }
LAB_00064cd8:
                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);
                    warn(uVar15,iVar28);
                    local_24 = local_104;
                    goto LAB_000637dc;
                  }
                  switch(iVar28) {
                  case 0:
                    goto code_r0x00063f01;
                  case 1:
                    FUN_0004f990(local_28,local_20,0,uVar38);
                    iVar28 = local_20[0];
                    FUN_0004ea40();
                    uVar15 = 9;
code_r0x00064b2b:
                    uVar37 = iVar28 + local_28;
                    printf("%*s",uVar15,&DAT_0007bc55);
                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);
                    printf(pcVar14);
                    goto code_r0x00063ec0;
                  case 2:
code_r0x00064a4b:
                    local_dc = local_20;
                    FUN_0004f990(local_28,local_dc,0,uVar38);
                    iVar28 = local_28 + local_20[0];
                    FUN_0004ea40();
                    FUN_0004f990(iVar28,local_dc,0,uVar38);
                    uVar37 = local_20[0] + iVar28;
                    FUN_0004ea40();
                    break;
                  case 3:
code_r0x000648fb:
                    local_dc = local_20;
                    FUN_0004f990(local_28,local_dc,0,uVar38);
                    local_28 = local_28 + local_20[0];
                    FUN_0004ea40();
                    uVar37 = local_28 + 4;
                    if (uVar37 < uVar38) {
                      iVar28 = 4;
code_r0x00064e5d:
                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);
                    }
                    else {
                      uVar15 = 0;
                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))
                      goto code_r0x00064e5d;
                    }
                    printf("%08x ",uVar15);
                    break;
                  case 4:
code_r0x00064a90:
                    uVar36 = uVar37 + 5;
                    if (uVar36 < uVar38) {
                      uVar15 = (*DAT_000b9dd8)(local_28,4);
                      printf("%08x ",uVar15);
                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;
                      iVar28 = uVar38 - uVar36;
                      if (7 < iVar28 - 1U) {
                        uVar15 = 0;
                        goto code_r0x00064ae3;
                      }
code_r0x00064ad5:
                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);
                    }
                    else {
                      if (local_28 < uVar38) {
                        uVar33 = (uVar38 - local_28) - 1;
                        if (uVar33 < 8) {
                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);
                          printf("%08x ",uVar15);
                          uVar15 = 0;
                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;
                          goto code_r0x00064ad0;
                        }
                      }
                      printf("%08x ",0);
                      uVar15 = 0;
                      if (uVar37 + 9 < uVar38) {
code_r0x00064ad0:
                        iVar28 = 4;
                        goto code_r0x00064ad5;
                      }
                    }
code_r0x00064ae3:
                    uVar37 = uVar37 + 9;
                    printf("%08x ",uVar15);
                    break;
                  default:
                    goto LAB_00064cd8;
                  }
                  local_28 = uVar37 + 2;
                  if (uVar38 < local_28) goto LAB_00064ec7;
                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {
                    uVar10 = 0;
                    uVar37 = uVar38;
                  }
                  else {
                    uVar10 = (*DAT_000b9dd8)(uVar37,2);
                    uVar37 = local_28 + uVar10;
                    if (uVar38 < uVar37) {
                      uVar15 = dcgettext(0,
                                         "Location list starting at offset 0x%lx is not terminated.\n"
                                         ,5);
                      warn(uVar15,local_10c);
                      goto code_r0x00064ee9;
                    }
                  }
                  putc(0x28,*(FILE **)puVar7);
                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);
                  putc(0x29,*(FILE **)puVar7);
                  if ((iVar28 != 0) && (iVar34 == 0)) {
                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);
                    printf(pcVar14);
                  }
                  putc(10,*(FILE **)puVar7);
                } while( true );
              }
              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);
              warn(uVar15,iVar16,local_8c);
            }
            else {
              pcVar14 = "No debug information for loc lists of entry: %u\n";
LAB_00064bdb:
              uVar15 = dcgettext(0,pcVar14,5);
              warn(uVar15,local_8c);
            }
          }
          else if (local_68 == 0) {
            if (DAT_000b9d6c <= local_8c) {
              pcVar14 = "No debug information available for loclists lists of entry: %u\n";
              goto LAB_00064bdb;
            }
            piVar17 = (int *)(iVar31 + DAT_000b9d64);
            iVar16 = *piVar17;
            if (iVar16 - 2U < 7) {
              uVar45 = 0xffffffffffffffff;
              iVar24 = piVar17[3];
              uVar44 = 0xffffffffffffffff;
              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);
              iVar28 = piVar17[2];
              local_f4 = local_ec;
              uVar38 = local_10c;
              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {
                printf("    %8.8lx ",uVar38);
                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {
LAB_000639ce:
                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);
                  printf(pcVar14);
                  local_28 = uVar36;
                  goto LAB_000639ec;
                }
                uVar38 = (*DAT_000b9dd8)(local_28,1);
                if ((local_f4 == 0) || (uVar38 != 4)) {
                  if (uVar38 == 4) goto LAB_00063b0b;
                  if (uVar38 < 5) {
                    if (uVar38 == 0) goto LAB_000639ce;
LAB_00063e0a:
                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);
                    error(uVar15,uVar38);
                    local_28 = uVar39;
                    goto LAB_000637dc;
                  }
                  if (uVar38 == 6) {
                    local_28 = uVar36 + iVar16;
                    iVar18 = iVar16;
                    if ((local_28 < uVar37) ||
                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))
                    {
                      (*DAT_000b9dd8)(uVar36,iVar18);
                    }
                    FUN_0004ce60();
                    pcVar14 = "(base address)\n";
                  }
                  else {
                    if (uVar38 != 9) goto LAB_00063e0a;
                    if (local_f4 != 0) {
                      pcVar14 = (char *)dcgettext(0,
                                                  "View pair entry in loclist with locviews attribute\n"
                                                  ,5);
                      printf(pcVar14);
                    }
                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);
                    iVar18 = uVar36 + local_20[0];
                    FUN_0004ea80();
                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);
                    local_28 = iVar18 + local_20[0];
                    FUN_0004ea80();
                    pcVar14 = "views for:\n";
                  }
                  pcVar14 = (char *)dcgettext(0,pcVar14,5);
                  printf(pcVar14);
                }
                else {
                  iVar18 = local_f4 - uVar39;
                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);
                  iVar32 = local_f4 + local_20[0];
                  FUN_0004ea80();
                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);
                  local_f4 = iVar32 + local_20[0];
                  FUN_0004ea80();
                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);
                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);
LAB_00063b0b:
                  local_b0 = (uint)(uVar45 >> 0x20);
                  local_bc = (uint)uVar45;
                  local_c8 = (uint)(uVar44 >> 0x20);
                  local_dc = (int *)uVar44;
                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);
                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);
                  iVar18 = uVar36 + local_20[0];
                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);
                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);
                  local_28 = iVar18 + local_20[0];
                  if (uVar37 < local_28 + 2) {
                    uVar15 = dcgettext(0,
                                       "Location list starting at offset 0x%lx is not terminated.\n"
                                       ,5);
                    warn(uVar15,local_10c);
                    goto LAB_000639ec;
                  }
                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);
                  iVar32 = local_28 + local_20[0];
                  FUN_0004ce60();
                  FUN_0004ce60();
                  putc(0x28,*(FILE **)puVar7);
                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);
                  putc(0x29,*(FILE **)puVar7);
                  if ((iVar18 != 0) && (iVar34 == 0)) {
                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);
                    printf(pcVar14);
                  }
                  pFVar35 = *(FILE **)puVar7;
                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {
                    pcVar14 = (char *)dcgettext(0," (start == end)",5);
                    fputs(pcVar14,pFVar35);
                    pFVar35 = *(FILE **)puVar7;
                  }
                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)
                           ) || ((local_b0 < local_c8 ||
                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&
                                 (lVar43 == lVar46)))) {
                    pcVar14 = (char *)dcgettext(0," (start > end)",5);
                    fputs(pcVar14,pFVar35);
                    pFVar35 = *(FILE **)puVar7;
                  }
                  putc(10,pFVar35);
                  local_28 = (int)uVar47 + iVar32;
                  uVar45 = 0xffffffffffffffff;
                  uVar44 = 0xffffffffffffffff;
                }
                uVar38 = (local_28 - uVar39) + local_10c;
              }
              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);
              warn(uVar15,local_10c);
LAB_000639ec:
              if ((uVar44 & uVar45) != 0xffffffffffffffff) {
                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);
                printf(pcVar14);
              }
              local_24 = local_f4;
            }
            else {
              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);
              warn(uVar15,iVar16,local_8c);
            }
          }
          else {
            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);
            warn(uVar15);
          }
          goto LAB_000637dc;
        }
        if (local_f0 == 0) {
          local_108 = puVar3[1];
          local_10c = *puVar3;
          uVar38 = *puVar20;
          local_f4 = puVar20[1];
          iVar16 = 0;
          goto LAB_000635f2;
        }
        local_ec = local_f0;
        local_10c = puVar3[local_f0 * 2];
        local_e8 = local_f0 * 8 + -8;
        local_108 = puVar3[local_f0 * 2 + 1];
        local_f4 = puVar20[local_f0 * 2 + 1];
        uVar38 = puVar20[local_f0 * 2];
LAB_0006389e:
        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||
             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||
           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||
            uVar38 != *(uint *)((int)puVar20 + local_e8))) {
          iVar16 = local_ec << 2;
          goto LAB_000635f2;
        }
        goto LAB_0006373a;
      }
LAB_00063fc0:
      local_8c = local_8c + 1;
    } while (local_8c < DAT_000b9d6c);
  }
  uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);
  if (local_28 < uVar19) {
    iVar31 = uVar19 - local_28;
    uVar15 = *(undefined4 *)(param_1 + 8);
    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",
                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);
    warn(uVar13,iVar31,uVar15);
  }
  putc(10,*(FILE **)puVar7);
  free(local_5c);
  return 1;
LAB_00064ec7:
  local_28 = uVar37;
  uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);
  warn(uVar15,local_10c);
code_r0x00064ee9:
  local_24 = local_104;
LAB_000637dc:
  if ((bVar5) && (bVar6)) {
    if (local_28 == local_ec) {
      bVar5 = true;
    }
    else {
      if (uVar39 == local_24) {
        local_fc = DAT_000b9d64;
        bVar5 = true;
        bVar42 = true;
        goto LAB_0006373a;
      }
      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"
                         ,5);
      warn(uVar15);
      bVar5 = false;
LAB_00063833:
      if (local_28 != local_ec) goto LAB_00063844;
    }
    FUN_000520e0(local_24);
    local_fc = DAT_000b9d64;
    bVar42 = true;
  }
  else {
    if (local_ec != 0) goto LAB_00063833;
LAB_00063844:
    local_fc = DAT_000b9d64;
    bVar42 = true;
  }
LAB_0006373a:
  iVar34 = local_fc + iVar31;
  local_f0 = local_f0 + 1;
  if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;
  goto LAB_00063757;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x50fd7
SUB ESP,0x104
MOV EAX,dword ptr [ESP + 0x118]
MOV dword ptr [ESP + 0xf0],0x0
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0x94],EAX
MOV dword ptr [ESP + 0xec],EAX
MOV EAX,dword ptr [ESP + 0x118]
MOV EBP,dword ptr [EAX + 0x8]
PUSH 0x2e
PUSH EBP
CALL 0x00013340
ADD ESP,0x10
MOV dword ptr [ESP + 0xa4],0x0
TEST EAX,EAX
JZ 0x0006309f
MOV ESI,EAX
MOV ECX,0x5
LEA EDI,[EBX + 0xfffe032f]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
SETZ AL
MOVZX EAX,AL
MOV dword ptr [ESP + 0xa4],EAX
MOV EAX,dword ptr [ESP + 0x110]
MOV EAX,dword ptr [EAX + 0x1c]
MOV dword ptr [ESP + 0x88],EAX
TEST EAX,EAX
JZ 0x0006339f
SUB ESP,0x8
LEA EAX,[EBX + 0xfffe014e]
PUSH EAX
PUSH EBP
CALL 0x00013040
ADD ESP,0x10
MOV dword ptr [ESP + 0xc8],EAX
TEST EAX,EAX
JZ 0x00064e70
MOV EAX,dword ptr [ESP + 0x8c]
MOV ECX,dword ptr [ESP + 0x88]
MOV ESI,EAX
LEA EBP,[EAX + 0x4]
ADD ESI,ECX
CMP EBP,ESI
JNC 0x00063140
MOV EAX,0x4
LEA ECX,[EBX + 0x5dd8]
SUB ESP,0x8
MOV dword ptr [ESP + 0x8],ECX
PUSH EAX
PUSH dword ptr [ESP + 0x98]
CALL dword ptr [ECX]
NOT EAX
ADD ESP,0x10
OR EDX,EAX
JZ 0x00064e85
LEA EDI,[EBP + 0x2]
CMP EDI,ESI
JC 0x00063440
CMP EBP,ESI
JNC 0x00063137
MOV EAX,ESI
SUB EAX,EBP
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x0006315d
XOR ESI,ESI
JMP 0x00063174
CMP EAX,ESI
JC 0x000633cb
LEA EDI,[EBP + 0x2]
CMP EDI,ESI
JNC 0x00063137
LEA ECX,[EBX + 0x5dd8]
MOV EAX,0x2
MOV dword ptr [ESP],ECX
SUB ESP,0x8
PUSH EAX
PUSH EBP
MOV EAX,dword ptr [ESP + 0x10]
CALL dword ptr [EAX]
ADD ESP,0x10
CMP AX,0x5
JZ 0x000631b0
MOVZX ESI,AX
MOV EAX,dword ptr [ESP + 0x110]
SUB ESP,0x4
MOV EDI,dword ptr [EAX + 0x8]
PUSH 0x5
LEA EAX,[EBX + 0xfffddae0]
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
LEA ECX,[EBP + 0x3]
CMP ECX,ESI
JNC 0x000633e0
MOV EAX,0x1
MOV dword ptr [ESP + 0x8],ECX
SUB ESP,0x8
PUSH EAX
PUSH EDI
MOV EAX,dword ptr [ESP + 0x10]
LEA EDI,[EBP + 0x4]
CALL dword ptr [EAX]
MOV ECX,dword ptr [ESP + 0x18]
ADD ESP,0x10
CMP EDI,ESI
JC 0x000633ff
CMP ECX,ESI
JNC 0x000631f5
MOV EAX,ESI
SUB EAX,ECX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00063404
ADD EBP,0x8
CMP ESI,EBP
JBE 0x00063219
MOV ESI,0x4
SUB ESP,0x8
PUSH ESI
PUSH EDI
MOV EAX,dword ptr [ESP + 0x10]
CALL dword ptr [EAX]
MOV ESI,EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000650e6
MOV EAX,EBP
SUB EAX,dword ptr [ESP + 0x8c]
MOV dword ptr [ESP + 0x38],EAX
SAR EAX,0x1f
MOV dword ptr [ESP + 0x3c],EAX
MOV EAX,dword ptr [ESP + 0x114]
CALL 0x00062460
TEST EAX,EAX
JZ 0x00064fee
MOV EAX,dword ptr [EBX + 0x5d6c]
MOV dword ptr [ESP + 0x40],EAX
TEST EAX,EAX
JZ 0x00064f3c
MOV EAX,dword ptr [EBX + 0x5d64]
XOR EDX,EDX
MOV dword ptr [ESP + 0x1c],0x0
MOV dword ptr [ESP + 0x80],0x0
MOV dword ptr [ESP + 0x44],EAX
ADD EAX,0x2c
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,0x1
MOV dword ptr [ESP + 0x18],0x0
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x58],EBX
JMP 0x000632b8
ADD dword ptr [ESP + 0x1c],0x1
MOV EBX,dword ptr [ESP + 0x1c]
ADD dword ptr [ESP + 0x28],0x50
CMP dword ptr [ESP + 0x40],EBX
JZ 0x00063460
MOV ESI,dword ptr [ESP + 0x28]
MOV EBX,dword ptr [ESP + 0x30]
MOV EBP,dword ptr [ESI + 0xc]
CMP EBX,EBP
CMOVC EBX,EBP
MOV dword ptr [ESP + 0x30],EBX
TEST EBP,EBP
JZ 0x000632a0
TEST EAX,EAX
JZ 0x000632a0
XOR EAX,EAX
TEST EDX,EDX
JNZ 0x000632fb
MOV EAX,dword ptr [ESI]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESI + 0x4]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x80],EAX
MOV EAX,0x1
CMP EBP,EAX
JBE 0x00063450
MOV ESI,dword ptr [ESP + 0x28]
MOV EDI,dword ptr [ESP + 0x8]
XOR EBX,EBX
MOV ESI,dword ptr [ESI]
MOV ECX,EDI
MOV EDX,dword ptr [ESI + EAX*0x8]
MOV dword ptr [ESP + 0x24],ESI
MOV ESI,dword ptr [ESI + EAX*0x8 + 0x4]
CMP EDX,EDI
MOV EDI,ESI
SBB EDI,EBX
JC 0x00063393
MOV EDI,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x20],EBP
MOV EDI,dword ptr [EDI + 0x4]
MOV dword ptr [ESP + 0x10],EDI
JMP 0x00063369
MOV EDI,dword ptr [ESP]
MOV dword ptr [ESP + 0x8],EDX
ADD EAX,0x1
MOV dword ptr [ESP + 0x18],EDI
CMP dword ptr [ESP + 0x20],EAX
JZ 0x00063450
MOV EDI,dword ptr [ESP + 0x24]
MOV ECX,dword ptr [ESP + 0x8]
XOR EBX,EBX
MOV EDX,dword ptr [EDI + EAX*0x8]
MOV ESI,dword ptr [EDI + EAX*0x8 + 0x4]
CMP EDX,ECX
MOV EDI,ESI
SBB EDI,EBX
JC 0x00063393
MOV EDI,dword ptr [ESP + 0x10]
XOR ESI,EBX
MOV EBP,dword ptr [EDI + EAX*0x8]
MOV EDI,dword ptr [EDI + EAX*0x8 + 0x4]
MOV dword ptr [ESP],EBP
MOV EBP,EDI
MOV EDI,ECX
XOR EDI,EDX
OR ESI,EDI
JNZ 0x00063338
MOV EDI,dword ptr [ESP + 0x18]
CMP dword ptr [ESP],EDI
MOV EDI,0x0
SBB EBP,EDI
JNC 0x00063338
XOR EAX,EAX
MOV EDX,0x1
JMP 0x000632a0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffde441]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EBP
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
XOR EAX,EAX
ADD ESP,0xfc
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[ECX + -0x1]
CMP EAX,0x7
JA 0x00063148
MOV EAX,ECX
JMP 0x000630f8
CMP ESI,EDI
JBE 0x000633f4
MOV EAX,ESI
SUB EAX,EDI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x000631c0
LEA EDI,[EBP + 0x4]
CMP ESI,EDI
JBE 0x000631f5
MOV EAX,0x1
SUB ESP,0x8
PUSH EAX
PUSH ECX
MOV EAX,dword ptr [ESP + 0x10]
CALL dword ptr [EAX]
ADD ESP,0x10
TEST AL,AL
JNZ 0x000650b6
ADD EBP,0x8
CMP EBP,ESI
JC 0x000631fc
CMP ESI,EDI
JBE 0x00063219
SUB ESI,EDI
LEA EAX,[ESI + -0x1]
CMP EAX,0x7
JA 0x00063219
JMP 0x00063201
MOV EAX,0x2
JMP 0x0006315d
MOV EAX,0x1
MOV EDX,0x1
JMP 0x000632a0
MOV dword ptr [ESP + 0x98],EAX
MOV EAX,dword ptr [ESP + 0x80]
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EAX + EAX*0x4]
SHL EAX,0x4
MOV dword ptr [ESP + 0x40],EAX
TEST EDX,EDX
JZ 0x00064f5a
MOV EAX,dword ptr [ESP + 0x44]
ADD EAX,dword ptr [ESP + 0x40]
MOV ESI,dword ptr [EAX + 0x38]
TEST ESI,ESI
JZ 0x000634c8
MOV EDX,dword ptr [EAX + 0x2c]
MOV ECX,dword ptr [ESP + 0x3c]
MOV EDI,dword ptr [EDX]
MOV ESI,dword ptr [EDX + 0x4]
MOV EDX,dword ptr [ESP + 0x38]
XOR ECX,ESI
XOR EDX,EDI
OR ECX,EDX
JZ 0x000634c8
MOV EAX,dword ptr [EAX + 0x30]
MOV ECX,dword ptr [ESP + 0x3c]
MOV EDX,dword ptr [ESP + 0x38]
XOR ECX,dword ptr [EAX + 0x4]
XOR EDX,dword ptr [EAX]
MOV EAX,ECX
OR EAX,EDX
JNZ 0x00065038
LEA ESI,[ESI]
MOV ECX,dword ptr [ESP + 0x98]
MOV dword ptr [ESP + 0xb0],0x0
TEST ECX,ECX
JZ 0x00064faa
MOV EAX,dword ptr [ESP + 0x110]
LEA EDX,[EAX + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
CALL 0x0004eb80
SUB ESP,0x4
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x11c]
CALL 0x00045000
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00064f87
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddc10]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x80]
CMP EAX,dword ptr [EBX + 0x5d6c]
JNC 0x000650a7
MOV EAX,dword ptr [EBX + 0x5d64]
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [EBX + 0xffffffd8]
MOV dword ptr [ESP + 0x38],EAX
NOP
MOV EAX,dword ptr [ESP + 0x80]
MOV EBP,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x98]
LEA EAX,[EAX + EAX*0x4]
SHL EAX,0x4
ADD EBP,EAX
MOV dword ptr [ESP + 0x84],EAX
MOV EAX,dword ptr [EBP + 0x38]
TEST EDX,EDX
JZ 0x00064c70
MOV dword ptr [ESP + 0x58],0x1
MOV dword ptr [ESP + 0x1c],0x0
TEST EAX,EAX
JNZ 0x00063757
JMP 0x00063fc0
MOV EDI,dword ptr [ESP + 0xb0]
MOV EDX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EDI + EDX*0x4]
MOV EDI,dword ptr [ECX + EAX*0x8 + 0x4]
MOV ESI,dword ptr [ECX + EAX*0x8]
MOV dword ptr [ESP + 0x20],EAX
MOV dword ptr [ESP + 0x4],EDI
MOV EDI,dword ptr [ESP + 0x8]
MOV dword ptr [ESP],ESI
MOV ESI,EAX
MOV EDI,dword ptr [EDI + EAX*0x8]
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX + ESI*0x8 + 0x4]
MOV dword ptr [ESP + 0x18],EAX
TEST EDX,EDX
JNZ 0x00063888
MOV EAX,ESI
SHL EAX,0x2
MOV EDX,dword ptr [EBP + 0x34]
MOV ECX,dword ptr [ESP + 0x8c]
MOV EAX,dword ptr [EDX + EAX*0x1]
MOV ESI,ECX
MOV EDX,dword ptr [EBP + 0x18]
MOV dword ptr [ESP + 0x74],EAX
MOV EAX,dword ptr [ESP]
MOV dword ptr [ESP + 0x2c],EDX
ADD ESI,EAX
MOV dword ptr [ESP + 0x70],EAX
MOV EAX,dword ptr [EBP + 0x14]
MOV dword ptr [ESP + 0x40],ESI
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x18]
AND EAX,EDI
CMP EAX,-0x1
JZ 0x00063870
MOV EDX,ECX
MOV EBP,ESI
ADD EDX,EDI
SETNZ byte ptr [ESP + 0x24]
CMP ESI,EDX
MOVZX ECX,byte ptr [ESP + 0x24]
SETA AL
MOV dword ptr [ESP + 0x20],EDX
AND AL,CL
MOV ESI,EAX
JZ 0x0006368d
MOV dword ptr [ESP + 0xe8],EDX
LEA EDX,[ESP + 0xe8]
SUB ESP,0xc
PUSH EBP
MOV EAX,dword ptr [ESP + 0x120]
MOV ECX,dword ptr [ESP + 0x90]
CALL 0x000520e0
ADD ESP,0x10
MOV EAX,ESI
MOV EDX,dword ptr [ESP + 0x20]
MOV byte ptr [ESP + 0x24],AL
CMP dword ptr [ESP + 0xe4],EDX
JZ 0x00064778
MOV EDX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x58]
XOR EDX,0x1
XOR EAX,0x1
MOV ECX,EDX
OR CL,AL
JNZ 0x000636b8
MOV ESI,dword ptr [ESP + 0xe4]
CMP ESI,dword ptr [ESP + 0x40]
JC 0x00063f90
JA 0x00064110
MOV EAX,dword ptr [ESP + 0x40]
MOV ESI,dword ptr [ESP + 0x88]
MOV EDX,dword ptr [ESP]
MOV ECX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0xe4],EAX
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0xe8],EAX
XOR EAX,EAX
CMP EDX,ESI
MOV ESI,ECX
SBB ESI,EAX
JNC 0x00063f40
MOV ESI,dword ptr [ESP + 0x20]
TEST ESI,ESI
JZ 0x000637a0
MOV ECX,dword ptr [ESP + 0x18]
CMP EDI,dword ptr [ESP + 0x88]
SBB ECX,EAX
JC 0x000637a0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddcf8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x00066db0
MOV EAX,dword ptr [EBX + 0x5d64]
ADD ESP,0x10
MOV dword ptr [ESP + 0x30],0x1
MOV dword ptr [ESP + 0x10],EAX
MOV EBP,dword ptr [ESP + 0x10]
ADD EBP,dword ptr [ESP + 0x84]
ADD dword ptr [ESP + 0x1c],0x1
MOV EAX,dword ptr [ESP + 0x1c]
CMP dword ptr [EBP + 0x38],EAX
JBE 0x00063fc0
MOV EAX,dword ptr [EBP + 0x30]
MOV ECX,dword ptr [EBP + 0x2c]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x98]
TEST EAX,EAX
JZ 0x000635b0
MOV ESI,dword ptr [ESP + 0x1c]
TEST ESI,ESI
JNZ 0x000638c8
MOV EDI,dword ptr [ECX + 0x4]
MOV EAX,dword ptr [ESP + 0x8]
MOV ESI,dword ptr [ECX]
MOV dword ptr [ESP + 0x4],EDI
MOV EDI,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x18],EAX
XOR EAX,EAX
JMP 0x000635f2
MOV EAX,dword ptr [ESP + 0xc8]
TEST EAX,EAX
JZ 0x00063e30
MOV ECX,dword ptr [ESP + 0xa4]
TEST ECX,ECX
JZ 0x00063908
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfeac]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066db0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x58]
TEST EAX,EAX
JZ 0x00063860
CMP byte ptr [ESP + 0x24],0x0
JZ 0x00063860
MOV EAX,dword ptr [ESP + 0xe8]
MOV EDI,dword ptr [ESP + 0x20]
CMP dword ptr [ESP + 0xe4],EDI
JZ 0x00064120
CMP dword ptr [ESP + 0x40],EAX
JZ 0x000640f0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddf24]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066db0
ADD ESP,0x10
MOV dword ptr [ESP + 0x58],0x0
MOV EAX,dword ptr [ESP + 0x20]
CMP dword ptr [ESP + 0xe4],EAX
JZ 0x0006510c
MOV EAX,dword ptr [EBX + 0x5d64]
MOV dword ptr [ESP + 0x30],0x1
MOV dword ptr [ESP + 0x10],EAX
JMP 0x0006373a
MOV EBP,dword ptr [ESP + 0x20]
TEST EBP,EBP
JZ 0x00063844
JMP 0x00063833
MOV dword ptr [ESP + 0x20],0x0
MOV byte ptr [ESP + 0x24],0x0
JMP 0x0006368d
MOV EAX,dword ptr [ESP + 0xb0]
MOV ESI,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EAX + ESI*0x4 + -0x4]
SHL EAX,0x3
MOV dword ptr [ESP + 0x24],EAX
MOV EDX,dword ptr [ESP + 0x24]
MOV ESI,dword ptr [ESP]
MOV EAX,dword ptr [ESP + 0x4]
XOR ESI,dword ptr [ECX + EDX*0x1]
XOR EAX,dword ptr [ECX + EDX*0x1 + 0x4]
OR ESI,EAX
JZ 0x00063f60
MOV EAX,dword ptr [ESP + 0x20]
SHL EAX,0x2
JMP 0x000635f2
MOV EDX,dword ptr [ESP + 0x1c]
LEA EAX,[EDX*0x8 + 0x0]
MOV ESI,dword ptr [ECX + EDX*0x8]
MOV dword ptr [ESP + 0x20],EDX
LEA EDI,[EAX + -0x8]
MOV dword ptr [ESP + 0x24],EDI
MOV EDI,dword ptr [ECX + EDX*0x8 + 0x4]
MOV dword ptr [ESP],ESI
MOV ESI,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x4],EDI
MOV EDI,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESI + EAX*0x1 + 0x4]
MOV EDI,dword ptr [EDI + EDX*0x8]
MOV dword ptr [ESP + 0x18],EAX
JMP 0x0006389e
MOV EAX,dword ptr [ESP + 0x80]
CMP dword ptr [EBX + 0x5d6c],EAX
JBE 0x00064bd0
MOV EAX,dword ptr [ESP + 0x84]
ADD EAX,dword ptr [EBX + 0x5d64]
MOV EDI,dword ptr [EAX]
LEA EDX,[EDI + -0x2]
MOV dword ptr [ESP + 0x8],EDI
CMP EDX,0x6
JA 0x00064c40
MOV EDI,dword ptr [ESP + 0x110]
MOV EBP,dword ptr [ESP + 0x40]
MOV dword ptr [ESP + 0x50],0xffffffff
MOV dword ptr [ESP + 0x5c],0xffffffff
MOV EDX,dword ptr [EDI + 0x1c]
MOV ESI,dword ptr [EDI + 0x10]
MOV dword ptr [ESP + 0x30],0xffffffff
MOV EDI,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x44],0xffffffff
ADD ESI,EDX
MOV dword ptr [ESP + 0xb4],EDI
MOV EDI,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [ESP + 0xa0],EDI
MOV EDI,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0xa8],EAX
MOV EAX,EBP
MOV dword ptr [ESP + 0x18],EDI
LEA EDI,[EBX + 0x5dd8]
MOV dword ptr [ESP + 0x68],EDI
MOV EDI,EBP
SUB EDI,EAX
MOV EAX,EDI
LEA EDI,[EBP + 0x1]
ADD EAX,dword ptr [ESP]
CMP ESI,EDI
JC 0x00063d0e
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffde3f8]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
CMP ESI,EDI
JNZ 0x00063a40
CMP ESI,EBP
JA 0x00063a40
SUB ESP,0x4
LEA EAX,[EBX + 0xfffde404]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x44]
AND EDX,dword ptr [ESP + 0x50]
AND EAX,dword ptr [ESP + 0x5c]
AND EAX,EDX
CMP EAX,-0x1
JZ 0x00063a21
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddefc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0xe4],EDI
MOV dword ptr [ESP + 0xe8],EAX
JMP 0x000637dc
SUB ESP,0x8
PUSH 0x1
PUSH EBP
MOV EAX,dword ptr [ESP + 0x78]
CALL dword ptr [EAX]
MOV ECX,dword ptr [ESP + 0x28]
ADD ESP,0x10
TEST ECX,ECX
JZ 0x00063d40
CMP EAX,0x4
JNZ 0x00063d40
MOV EAX,ECX
SUB EAX,dword ptr [ESP + 0xe4]
CDQ
ADD EAX,dword ptr [ESP]
ADC EDX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x14],EDX
PUSH ESI
PUSH 0x0
LEA EBP,[ESP + 0xf4]
PUSH EBP
MOV dword ptr [ESP + 0x24],ECX
PUSH ECX
CALL 0x0004f990
MOV ECX,dword ptr [ESP + 0x28]
ADD ECX,dword ptr [ESP + 0xfc]
MOV dword ptr [ESP + 0x28],ECX
MOV ECX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x40],EAX
MOV dword ptr [ESP + 0x54],EDX
CALL 0x0004ea80
PUSH ESI
PUSH 0x0
PUSH EBP
PUSH dword ptr [ESP + 0x34]
CALL 0x0004f990
MOV ECX,dword ptr [ESP + 0x38]
ADD ECX,dword ptr [ESP + 0x10c]
MOV dword ptr [ESP + 0x7c],EDX
MOV dword ptr [ESP + 0x70],EAX
MOV dword ptr [ESP + 0x38],ECX
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x8]
CALL 0x0004ea80
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfe69]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
LEA EDX,[EBX + 0xfffc7c55]
PUSH EDX
PUSH 0x8
PUSH dword ptr [ESP + 0x28]
PUSH EAX
CALL 0x00013060
ADD ESP,0x20
PUSH ESI
PUSH 0x0
PUSH EBP
PUSH EDI
CALL 0x0004f990
ADD EDI,dword ptr [ESP + 0xfc]
MOV dword ptr [ESP + 0x20],EAX
MOV dword ptr [ESP + 0x24],EDX
PUSH ESI
PUSH 0x0
PUSH EBP
PUSH EDI
CALL 0x0004f990
ADD EDI,dword ptr [ESP + 0x10c]
MOV dword ptr [ESP + 0x80],EAX
LEA EAX,[EDI + 0x2]
MOV dword ptr [ESP + 0x84],EDX
ADD ESP,0x20
CMP ESI,EAX
JC 0x00064fc7
PUSH ESI
PUSH 0x0
PUSH EBP
PUSH EDI
CALL 0x0004f990
MOV ECX,dword ptr [ESP + 0x18]
ADD EDI,dword ptr [ESP + 0xfc]
MOV dword ptr [ESP + 0xa0],EAX
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0xa4],EDX
ADD EAX,dword ptr [ESP + 0x38]
MOV EDX,dword ptr [ESP + 0x24]
ADC EDX,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0xac],EDI
CALL 0x0004ce60
MOV EDI,dword ptr [ESP + 0x70]
ADD EDI,dword ptr [ESP + 0x38]
MOV EAX,EDI
MOV EDI,dword ptr [ESP + 0x18]
MOV EBP,dword ptr [ESP + 0x74]
ADC EBP,dword ptr [ESP + 0x3c]
MOV EDX,EBP
MOV ECX,EDI
CALL 0x0004ce60
POP EBP
POP EAX
MOV ECX,dword ptr [ESP + 0x40]
PUSH dword ptr [ECX]
PUSH 0x28
CALL 0x00013360
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x118]
MOV EDX,dword ptr [ESP + 0xc0]
MOV dword ptr [ESP + 0xd0],0x0
MOV dword ptr [ESP + 0xcc],EDX
MOV EDX,EDI
PUSH dword ptr [ESP + 0xd0]
PUSH dword ptr [ESP + 0xd0]
PUSH dword ptr [ESP + 0xa8]
PUSH dword ptr [ESP + 0xa8]
PUSH dword ptr [ESP + 0xc4]
MOV ECX,dword ptr [ESP + 0xc0]
MOV EAX,dword ptr [ESP + 0xbc]
CALL 0x0004ff30
ADD ESP,0x18
MOV ECX,dword ptr [ESP + 0x40]
MOV EBP,EAX
PUSH dword ptr [ECX]
PUSH 0x29
CALL 0x00013360
ADD ESP,0x10
TEST EBP,EBP
JZ 0x00063c57
MOV EDI,dword ptr [ESP + 0x74]
TEST EDI,EDI
JNZ 0x00063c57
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdf5b3]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV EDI,dword ptr [ESP + 0x60]
MOV EBP,dword ptr [ESP + 0x64]
MOV EDX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0x14]
XOR EDX,EDI
XOR EAX,EBP
MOV EDI,dword ptr [ESP + 0x38]
OR EDX,EAX
MOV EDX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x44]
SETZ CL
XOR EDX,dword ptr [ESP + 0x50]
XOR EAX,dword ptr [ESP + 0x5c]
OR EDX,EAX
MOV EBP,dword ptr [EDI]
JNZ 0x00064088
TEST CL,CL
JZ 0x00064088
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfe8d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EBP
PUSH EAX
CALL 0x00013400
MOV EBP,dword ptr [EDI]
ADD ESP,0x10
SUB ESP,0x8
PUSH EBP
PUSH 0xa
CALL 0x00013360
MOV EBP,dword ptr [ESP + 0xa0]
ADD EBP,dword ptr [ESP + 0xac]
ADD ESP,0x10
MOV dword ptr [ESP + 0x50],0xffffffff
MOV dword ptr [ESP + 0x5c],0xffffffff
MOV dword ptr [ESP + 0x30],0xffffffff
MOV dword ptr [ESP + 0x44],0xffffffff
MOV EAX,dword ptr [ESP + 0xe4]
MOV EDI,EBP
SUB EDI,EAX
MOV EAX,EDI
LEA EDI,[EBP + 0x1]
ADD EAX,dword ptr [ESP]
CMP ESI,EDI
JNC 0x000639b3
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddda0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ESI
POP EDI
PUSH dword ptr [ESP + 0x78]
PUSH EAX
MOV EDI,EBP
CALL 0x00066db0
ADD ESP,0x10
JMP 0x000639ec
CMP EAX,0x4
JZ 0x00065100
JBE 0x00063e00
CMP EAX,0x6
JZ 0x00064030
CMP EAX,0x9
JNZ 0x00064790
MOV ECX,dword ptr [ESP + 0x18]
TEST ECX,ECX
JZ 0x00063d87
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddea0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
PUSH ESI
PUSH 0x0
LEA EBP,[ESP + 0xf4]
PUSH EBP
PUSH EDI
CALL 0x0004f990
MOV ECX,dword ptr [ESP + 0x18]
ADD EDI,dword ptr [ESP + 0xfc]
MOV dword ptr [ESP + 0x40],EAX
MOV dword ptr [ESP + 0x54],EDX
CALL 0x0004ea80
PUSH ESI
PUSH 0x0
PUSH EBP
PUSH EDI
CALL 0x0004f990
ADD EDI,dword ptr [ESP + 0x10c]
MOV dword ptr [ESP + 0x70],EAX
MOV EBP,EDI
MOV dword ptr [ESP + 0x7c],EDX
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x8]
CALL 0x0004ea80
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfec7]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x00063cf3
MOV EBP,EAX
TEST EAX,EAX
JZ 0x000639ce
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdded4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EDX
PUSH EBP
PUSH EAX
CALL 0x00066870
ADD ESP,0x10
JMP 0x000637dc
MOV EAX,dword ptr [ESP + 0x110]
MOV EDI,dword ptr [ESP + 0x110]
MOV EBP,dword ptr [ESP + 0xa4]
MOV EAX,dword ptr [EAX + 0x1c]
ADD EAX,dword ptr [EDI + 0x10]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EBX + 0x5d6c]
TEST EBP,EBP
JZ 0x00064160
CMP dword ptr [ESP + 0x80],EAX
JNC 0x00064d58
MOV EAX,dword ptr [ESP + 0x84]
ADD EAX,dword ptr [EBX + 0x5d64]
MOV EDI,dword ptr [EAX]
LEA EDX,[EDI + -0x2]
MOV dword ptr [ESP + 0x44],EDI
CMP EDX,0x6
JA 0x00064de0
MOV ECX,dword ptr [EAX + 0xc]
LEA ESI,[EBX + 0xfffde3f8]
MOV EDI,dword ptr [ESP + 0x40]
MOV dword ptr [ESP + 0x10],ESI
MOV dword ptr [ESP + 0x60],ECX
MOV ECX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [ESP + 0x50],ECX
MOV ECX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x5c],EAX
MOV EAX,EDI
MOV dword ptr [ESP + 0x8],ECX
LEA ECX,[EBX + 0x5dd8]
MOV dword ptr [ESP + 0x28],ECX
SUB ESP,0x8
MOV ECX,EDI
SUB ECX,EAX
MOV EAX,dword ptr [ESP + 0x78]
ADD EAX,ECX
PUSH EAX
PUSH dword ptr [ESP + 0x1c]
CALL 0x00013060
ADD ESP,0x10
CMP EDI,dword ptr [ESP + 0x18]
JNC 0x00064ec7
MOV EAX,dword ptr [ESP + 0x18]
LEA EBP,[EDI + 0x1]
CMP EBP,EAX
JC 0x000647f0
SUB EAX,EDI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x000647f7
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0xe4],EBP
SUB ESP,0x4
MOV dword ptr [ESP + 0xec],EAX
LEA EAX,[EBX + 0xfffde404]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x000637dc
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddcc0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EBP
PUSH dword ptr [ESP + 0x78]
JMP 0x0006371f
MOV ESI,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [ESP + 0x8]
MOV ECX,EDI
MOV EDX,dword ptr [ESP + 0x8]
XOR ECX,dword ptr [EAX + ESI*0x1]
MOV EAX,dword ptr [ESP + 0x18]
XOR EAX,dword ptr [EDX + ESI*0x1 + 0x4]
MOV EDX,EAX
OR EDX,ECX
JNZ 0x000638b8
JMP 0x0006373a
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddc4c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x74]
SUB ESI,dword ptr [ESP + 0x94]
PUSH ESI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x000636b8
ADD dword ptr [ESP + 0x80],0x1
MOV EAX,dword ptr [ESP + 0x80]
CMP dword ptr [EBX + 0x5d6c],EAX
JA 0x00063560
MOV EAX,dword ptr [ESP + 0x110]
MOV ECX,dword ptr [ESP + 0x110]
MOV EDX,dword ptr [ESP + 0xe4]
MOV EAX,dword ptr [EAX + 0x1c]
ADD EAX,dword ptr [ECX + 0x10]
CMP EAX,EDX
JA 0x00064f00
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x40]
PUSH dword ptr [EAX]
PUSH 0xa
CALL 0x00013360
POP EDI
PUSH dword ptr [ESP + 0xbc]
CALL 0x000130a0
ADD ESP,0x10
MOV EAX,0x1
ADD ESP,0xfc
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x8]
LEA EBP,[EDI + EAX*0x1]
CMP ESI,EBP
JA 0x00064bb0
MOV dword ptr [ESP + 0x28],0x0
MOV dword ptr [ESP + 0x2c],0x0
CMP ESI,EDI
JBE 0x00064063
MOV EAX,ESI
SUB EAX,EDI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00064bb4
MOV EAX,dword ptr [ESP + 0x28]
MOV ECX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0x2c]
CALL 0x0004ce60
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdecef]
PUSH 0x5
JMP 0x00063de2
MOV EAX,dword ptr [ESP + 0x60]
MOV EDI,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x64]
CMP EAX,EDI
MOV EAX,EDX
SBB EAX,dword ptr [ESP + 0x14]
JC 0x000640bc
MOV EDI,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x5c]
CMP dword ptr [ESP + 0x50],EDI
SBB EAX,dword ptr [ESP + 0x44]
JNC 0x00063cb7
TEST CL,CL
JZ 0x00063cb7
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfe9d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EBP
PUSH EAX
CALL 0x00013400
MOV EAX,dword ptr [ESP + 0x48]
ADD ESP,0x10
MOV EBP,dword ptr [EAX]
JMP 0x00063cb7
MOV EAX,dword ptr [EBX + 0x5d64]
MOV dword ptr [ESP + 0x58],0x1
MOV dword ptr [ESP + 0x30],0x1
MOV dword ptr [ESP + 0x10],EAX
JMP 0x0006373a
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddc84]
PUSH 0x5
JMP 0x00063f9b
MOV dword ptr [ESP + 0x58],0x1
LEA EDX,[ESP + 0xe4]
SUB ESP,0xc
PUSH EAX
MOV EAX,dword ptr [ESP + 0x120]
MOV ECX,dword ptr [ESP + 0x90]
CALL 0x000520e0
MOV EAX,dword ptr [EBX + 0x5d64]
ADD ESP,0x10
MOV dword ptr [ESP + 0x30],0x1
MOV dword ptr [ESP + 0x10],EAX
JMP 0x0006373a
CMP dword ptr [ESP + 0x80],EAX
JNC 0x00064d70
MOV EAX,dword ptr [ESP + 0x84]
ADD EAX,dword ptr [EBX + 0x5d64]
MOV EDI,dword ptr [EAX]
LEA EDX,[EDI + -0x2]
MOV dword ptr [ESP + 0x10],EDI
CMP EDX,0x6
JA 0x00064db0
MOV ESI,dword ptr [EAX + 0xc]
MOV ECX,dword ptr [EAX + 0x4]
MOV EDX,0xffffffff
MOV EAX,dword ptr [EAX + 0x8]
MOV EBP,dword ptr [ESP + 0x40]
MOV dword ptr [ESP + 0xb4],ECX
LEA ECX,[EDI*0x8 + 0xffffffff]
MOV dword ptr [ESP + 0xb8],EAX
LEA EAX,[EDI + EDI*0x1]
MOV dword ptr [ESP + 0xa0],EAX
MOV EAX,0xfffffffe
SHLD EDX,EAX,CL
MOV dword ptr [ESP + 0xbc],ESI
SHL EAX,CL
XOR ESI,ESI
TEST CL,0x20
LEA ECX,[EBX + 0x5dd8]
CMOVNZ EDX,EAX
CMOVNZ EAX,ESI
MOV ESI,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0xcc],ECX
NOT EAX
MOV dword ptr [ESP + 0x90],ESI
MOV dword ptr [ESP + 0x9c],EAX
MOV EAX,EDX
NOT EAX
MOV dword ptr [ESP + 0x44],EAX
MOV EAX,EBP
JMP 0x000644cf
CMP EBP,ECX
JNC 0x00064600
MOV EAX,ECX
SUB EAX,EBP
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00064528
CMP ESI,ECX
JNZ 0x0006460a
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x30],0x0
LEA EBP,[EDI + EAX*0x1]
MOV dword ptr [ESP + 0x34],0x0
SUB ESP,0x4
PUSH dword ptr [ESP + 0x58]
PUSH dword ptr [ESP + 0x58]
PUSH dword ptr [ESP + 0x11c]
CALL 0x00045000
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000647a0
MOV ECX,dword ptr [ESP + 0x9c]
MOV ESI,dword ptr [ESP + 0x8]
MOV EDI,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [ESP + 0x44]
MOV EAX,ECX
AND EAX,ESI
AND EDX,EDI
XOR EDX,dword ptr [ESP + 0x44]
XOR EAX,ECX
OR EDX,EAX
JZ 0x00064700
MOV ECX,dword ptr [ESP + 0x90]
TEST ECX,ECX
JZ 0x00064690
MOV EAX,ECX
SUB EAX,dword ptr [ESP + 0xe4]
MOV ESI,ECX
CDQ
ADD EAX,dword ptr [ESP]
ADC EDX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0xa8],EAX
MOV dword ptr [ESP + 0xac],EDX
PUSH dword ptr [ESP + 0x18]
PUSH 0x0
LEA EDI,[ESP + 0xf4]
PUSH EDI
PUSH ECX
CALL 0x0004f990
MOV ECX,dword ptr [ESP + 0x20]
ADD ESI,dword ptr [ESP + 0xfc]
MOV dword ptr [ESP + 0x60],EAX
MOV dword ptr [ESP + 0x6c],EDX
CALL 0x0004ea80
PUSH dword ptr [ESP + 0x28]
PUSH 0x0
PUSH EDI
PUSH ESI
CALL 0x0004f990
ADD ESI,dword ptr [ESP + 0x10c]
MOV dword ptr [ESP + 0x88],EDX
MOV dword ptr [ESP + 0x80],EAX
MOV dword ptr [ESP + 0xb0],ESI
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x10]
LEA ESI,[EBP + 0x2]
CALL 0x0004ea80
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfe69]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
LEA EDX,[EBX + 0xfffc7c55]
PUSH EDX
PUSH 0x8
PUSH dword ptr [ESP + 0xc0]
PUSH EAX
CALL 0x00013060
ADD ESP,0x20
CMP ESI,dword ptr [ESP + 0x18]
JA 0x000646bd
JNZ 0x00064650
CMP EBP,dword ptr [ESP + 0x18]
JC 0x00064650
MOV dword ptr [ESP + 0x78],0x0
MOV EBP,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x7c],0x0
MOV EDI,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0x28]
MOV EDX,dword ptr [ESP + 0x2c]
ADD EAX,dword ptr [ESP + 0x8]
MOV ECX,EDI
ADC EDX,dword ptr [ESP + 0xc]
CALL 0x0004ce60
MOV EAX,dword ptr [ESP + 0x28]
MOV EDX,dword ptr [ESP + 0x2c]
MOV ECX,EDI
ADD EAX,dword ptr [ESP + 0x30]
ADC EDX,dword ptr [ESP + 0x34]
MOV dword ptr [ESP + 0x10],EDI
CALL 0x0004ce60
SUB ESP,0x8
MOV EDI,dword ptr [ESP + 0x40]
PUSH dword ptr [EDI]
PUSH 0x28
CALL 0x00013360
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x118]
MOV ECX,dword ptr [ESP + 0xc8]
MOV EAX,ESI
MOV dword ptr [ESP + 0x54],ECX
MOV dword ptr [ESP + 0x58],0x0
PUSH dword ptr [ESP + 0x58]
PUSH dword ptr [ESP + 0x58]
PUSH dword ptr [ESP + 0x90]
PUSH dword ptr [ESP + 0x90]
PUSH dword ptr [ESP + 0xd4]
MOV ECX,dword ptr [ESP + 0xd4]
MOV EDX,dword ptr [ESP + 0x30]
CALL 0x0004ff30
ADD ESP,0x18
PUSH dword ptr [EDI]
PUSH 0x29
MOV ESI,EAX
CALL 0x00013360
ADD ESP,0x10
TEST ESI,ESI
JZ 0x0006445a
MOV ECX,dword ptr [ESP + 0x74]
TEST ECX,ECX
JNZ 0x0006445a
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdf5b3]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV ESI,dword ptr [ESP + 0x30]
MOV EDI,dword ptr [ESP + 0x34]
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0xc]
XOR EDX,ESI
XOR EAX,EDI
MOV EDI,dword ptr [ESP + 0x38]
OR EDX,EAX
MOV EDX,dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x5c]
SETZ CL
XOR EDX,dword ptr [ESP + 0x60]
XOR EAX,dword ptr [ESP + 0x68]
OR EDX,EAX
MOV ESI,dword ptr [EDI]
JNZ 0x000645a0
TEST CL,CL
JZ 0x000645a0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfe8d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP EDX
PUSH ESI
PUSH EAX
CALL 0x00013400
MOV ESI,dword ptr [EDI]
ADD ESP,0x10
SUB ESP,0x8
PUSH ESI
PUSH 0xa
CALL 0x00013360
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0xe4]
MOV EDI,EBP
SUB EDI,EAX
MOV EAX,EDI
CDQ
ADD EAX,dword ptr [ESP]
ADC EDX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x50],EAX
MOV EAX,dword ptr [ESP + 0xa0]
MOV dword ptr [ESP + 0x54],EDX
LEA ESI,[EBP + EAX*0x1]
CMP ESI,dword ptr [ESP + 0x18]
JA 0x000646bd
SUB ESP,0x8
LEA EAX,[EBX + 0xfffde3f8]
PUSH dword ptr [ESP + 0x58]
PUSH EAX
CALL 0x00013060
MOV EAX,dword ptr [ESP + 0x20]
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
LEA EDI,[EBP + EAX*0x1]
CMP EDI,ECX
JNC 0x00064210
MOV EAX,dword ptr [ESP + 0x10]
SUB ESP,0x8
MOV EDX,dword ptr [ESP + 0xd4]
MOV dword ptr [ESP + 0x38],EDX
PUSH EAX
PUSH EBP
CALL dword ptr [EDX]
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EDX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x30]
CMP ESI,EAX
JNZ 0x00064620
CMP EDI,EAX
JNC 0x00064567
SUB EAX,EDI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00064624
MOV EDX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x34],0x0
MOV EAX,EDX
MOV EDX,ECX
MOV ESI,dword ptr [ESP + 0x10]
OR EDX,EAX
LEA EBP,[EDI + ESI*0x1]
JNZ 0x00064279
JMP 0x00064257
MOV EAX,dword ptr [ESP + 0x30]
MOV EDI,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0x34]
CMP EAX,EDI
MOV EAX,EDX
SBB EAX,dword ptr [ESP + 0xc]
JC 0x000645d4
MOV EDI,dword ptr [ESP + 0x50]
CMP dword ptr [ESP + 0x60],EDI
MOV EDI,dword ptr [ESP + 0x68]
SBB EDI,dword ptr [ESP + 0x5c]
JNC 0x000644ba
TEST CL,CL
JZ 0x000644ba
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfe9d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EDX
PUSH ESI
PUSH EAX
CALL 0x00013400
MOV EAX,dword ptr [ESP + 0x48]
ADD ESP,0x10
MOV ESI,dword ptr [EAX]
JMP 0x000644ba
CMP ESI,dword ptr [ESP + 0x18]
JZ 0x00064230
MOV dword ptr [ESP + 0x8],0x0
LEA ECX,[EBX + 0x5dd8]
MOV dword ptr [ESP + 0xc],0x0
MOV EAX,dword ptr [ESP + 0x10]
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL dword ptr [ECX]
MOV ECX,EDX
MOV EDX,EAX
MOV dword ptr [ESP + 0x40],EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x44],ECX
OR EAX,EDX
MOV EDX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
OR EDX,ECX
JMP 0x00064583
SUB ESP,0x8
LEA ECX,[EBX + 0x5dd8]
PUSH 0x2
PUSH EBP
CALL dword ptr [ECX]
MOVZX EBP,AX
ADD ESP,0x10
ADD EBP,ESI
CMP EBP,dword ptr [ESP + 0x18]
JA 0x00064d80
AND EAX,0xffff
MOV dword ptr [ESP + 0x7c],0x0
MOV dword ptr [ESP + 0x78],EAX
JMP 0x0006438e
MOV dword ptr [ESP + 0x60],0xffffffff
LEA ESI,[EBP + 0x2]
MOV dword ptr [ESP + 0x68],0xffffffff
MOV dword ptr [ESP + 0x50],0xffffffff
MOV dword ptr [ESP + 0x5c],0xffffffff
CMP ESI,dword ptr [ESP + 0x18]
JBE 0x0006436a
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddda0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH dword ptr [ESP + 0x78]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x90]
MOV dword ptr [ESP + 0xe4],EBP
MOV dword ptr [ESP + 0xe8],EAX
JMP 0x000637dc
MOV ESI,dword ptr [ESP + 0x30]
MOV EAX,ECX
MOV EDI,dword ptr [ESP + 0x34]
MOV EDX,dword ptr [ESP + 0x44]
AND EAX,ESI
AND EDX,EDI
XOR EAX,ECX
XOR EDX,dword ptr [ESP + 0x44]
OR EDX,EAX
JZ 0x000642a0
MOV ESI,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
MOV ECX,ESI
CALL 0x0004ce60
MOV EDI,dword ptr [ESP + 0x34]
MOV ECX,ESI
MOV ESI,dword ptr [ESP + 0x30]
MOV EDX,EDI
MOV EAX,ESI
CALL 0x0004ce60
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdecef]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV dword ptr [ESP + 0x28],ESI
MOV dword ptr [ESP + 0x2c],EDI
JMP 0x000644c8
MOV EAX,dword ptr [ESP + 0xe8]
MOV dword ptr [ESP + 0xe4],EAX
JMP 0x0006368d
MOV EBP,EAX
JMP 0x00063e0a
SUB ESP,0x4
XOR EDX,EDX
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,dword ptr [ESP + 0x54]
ADC EDX,dword ptr [ESP + 0x58]
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x11c]
CALL 0x00045000
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00064279
SUB ESP,0x4
LEA EAX,[EBX + 0xfffde404]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x000646df
MOV EAX,dword ptr [ESP + 0xa4]
SUB ESP,0x8
PUSH EAX
PUSH EDI
MOV EAX,dword ptr [ESP + 0x38]
CALL dword ptr [EAX]
MOV ECX,dword ptr [ESP + 0x18]
ADD ESP,0x10
MOV ESI,EAX
TEST ECX,ECX
JZ 0x00064d10
LEA EAX,[EAX + -0x2]
CMP EAX,0x2
JA 0x00064b60
MOV EAX,ECX
SUB EAX,dword ptr [ESP + 0xe4]
CDQ
ADD EAX,dword ptr [ESP]
ADC EDX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x6c],EDX
MOV dword ptr [ESP + 0x68],EAX
PUSH dword ptr [ESP + 0x18]
PUSH 0x0
LEA EDX,[ESP + 0xf4]
MOV dword ptr [ESP + 0x38],EDX
PUSH EDX
MOV dword ptr [ESP + 0x14],ECX
PUSH ECX
CALL 0x0004f990
MOV ECX,dword ptr [ESP + 0x18]
ADD ECX,dword ptr [ESP + 0xfc]
MOV dword ptr [ESP + 0x18],ECX
MOV ECX,0x8
CALL 0x0004ea80
PUSH dword ptr [ESP + 0x28]
PUSH 0x0
PUSH dword ptr [ESP + 0x48]
PUSH dword ptr [ESP + 0x24]
CALL 0x0004f990
MOV ECX,dword ptr [ESP + 0x28]
ADD ECX,dword ptr [ESP + 0x10c]
MOV dword ptr [ESP + 0x28],ECX
MOV ECX,0x8
ADD ESP,0x20
CALL 0x0004ea80
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfe69]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
LEA ECX,[EBX + 0xfffc7c55]
PUSH ECX
MOV dword ptr [ESP + 0xa4],ECX
PUSH 0x8
PUSH dword ptr [ESP + 0x80]
PUSH EAX
CALL 0x00013060
ADD ESP,0x20
CMP ESI,0x4
JA 0x00064cd8
MOV EAX,dword ptr [EBX + ESI*0x4 + 0xfffe17dc]
MOV ECX,dword ptr [ESP + 0x90]
ADD EAX,EBX
JMP EAX
CMP ESI,0x4
JA 0x00064cd8
MOV EAX,dword ptr [EBX + ESI*0x4 + 0xfffe17f0]
ADD EAX,EBX
JMP EAX
MOV EAX,dword ptr [ESP + 0x8]
SUB ESP,0x8
PUSH EAX
PUSH EDI
MOV EAX,dword ptr [ESP + 0x78]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x38],EAX
MOV dword ptr [ESP + 0x3c],EDX
ADD ESP,0x10
JMP 0x00064063
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdde60]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EBP
POP EDX
PUSH dword ptr [ESP + 0x88]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x000637dc
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddd68]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x84]
PUSH dword ptr [ESP + 0x10]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x000637dc
TEST EAX,EAX
JZ 0x00064c8d
MOV ECX,dword ptr [ESP + 0xb0]
XOR EDX,EDX
LEA ESI,[ESI]
MOV dword ptr [ECX + EDX*0x4],EDX
MOV EAX,dword ptr [EBP + 0x38]
ADD EDX,0x1
CMP EAX,EDX
JA 0x00064c80
MOV EDX,dword ptr [EBP + 0x2c]
MOV dword ptr [EBX + 0x5cdc],EDX
MOV EDX,dword ptr [EBP + 0x30]
MOV dword ptr [EBX + 0x5cd8],EDX
LEA EDX,[EBX + 0xfff98710]
PUSH EDX
PUSH 0x4
PUSH EAX
PUSH dword ptr [ESP + 0xbc]
CALL 0x000133a0
MOV EAX,dword ptr [EBX + 0x5d64]
MOV EBP,dword ptr [ESP + 0x94]
ADD EBP,EAX
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x38]
JMP 0x0006358c
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdddfc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP EDI
PUSH ESI
PUSH EAX
CALL 0x00066db0
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0xf4],EBP
MOV dword ptr [ESP + 0xf8],EAX
ADD ESP,0x10
JMP 0x000637dc
CMP EAX,0x4
JA 0x00064cd8
MOV EAX,dword ptr [EBX + EAX*0x4 + 0xfffe1804]
ADD EAX,EBX
JMP EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddd34]
PUSH 0x5
JMP 0x00064bdb
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdde24]
PUSH 0x5
JMP 0x00064bdb
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddda0]
MOV EBP,ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP EDI
PUSH dword ptr [ESP + 0x78]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x000646df
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddd68]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x84]
PUSH dword ptr [ESP + 0x18]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x000637dc
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddd68]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x84]
PUSH dword ptr [ESP + 0x4c]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x000637dc
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x3c],0x0
JMP 0x0006322d
MOV EAX,dword ptr [ESP + 0x8c]
LEA EDI,[EAX + 0xc]
CMP EDI,ESI
JC 0x0006501e
CMP EBP,ESI
JNC 0x00064ec0
MOV EAX,dword ptr [ESP + 0x88]
SUB EAX,0x5
CMP EAX,0x7
JA 0x00064ec0
MOV EAX,dword ptr [ESP + 0x88]
SUB EAX,0x4
JMP 0x00065023
MOV EBP,EDI
JMP 0x00063148
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddda0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EBP
POP EDX
PUSH dword ptr [ESP + 0x78]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0xe4],EDI
MOV dword ptr [ESP + 0xe8],EAX
JMP 0x000637dc
MOV ECX,dword ptr [ESP + 0x110]
SUB EAX,EDX
SUB ESP,0xc
MOV EDI,EAX
MOV ESI,dword ptr [ECX + 0x8]
PUSH 0x5
PUSH EAX
LEA EAX,[EBX + 0xfffddf6c]
PUSH EAX
LEA EAX,[EBX + 0xfffddfa4]
PUSH EAX
PUSH 0x0
CALL 0x00013410
ADD ESP,0x1c
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x00063ffe
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x80],0x0
MOV dword ptr [ESP + 0x98],0x1
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddb64]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066870
MOV EAX,dword ptr [EBX + 0x5d64]
MOV dword ptr [ESP + 0x54],EAX
ADD ESP,0x10
JMP 0x00063484
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddbbc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x00063512
SUB ESP,0x8
PUSH 0x4
PUSH dword ptr [ESP + 0x3c]
CALL 0x0005db00
MOV dword ptr [ESP + 0xc0],EAX
ADD ESP,0x10
JMP 0x000634e2
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddda0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP ESI
PUSH dword ptr [ESP + 0x78]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x000639ec
MOV EAX,dword ptr [ESP + 0x110]
SUB ESP,0x4
MOV ESI,dword ptr [EAX + 0x8]
LEA EAX,[EBX + 0xfffdd82c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EBP
PUSH ESI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
XOR EAX,EAX
JMP 0x000631a1
MOV EAX,0x8
SUB ESP,0x8
PUSH EAX
PUSH EBP
MOV EAX,dword ptr [ESP + 0x10]
MOV EBP,EDI
CALL dword ptr [EAX]
ADD ESP,0x10
JMP 0x0006311c
SUB ESP,0xc
MOV EDX,EDI
LEA EAX,[EBX + 0xfffc89c5]
MOV ECX,ESI
PUSH 0x0
CALL 0x0004cb50
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x120]
ADD ESP,0xc
MOV EDI,dword ptr [EAX + 0x8]
LEA EAX,[EBX + 0xfffddb90]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x000634c8
MOV EAX,dword ptr [EBX + 0xffffffd8]
MOV dword ptr [ESP + 0x38],EAX
JMP 0x00063fdb
MOV dword ptr [ESP],EAX
MOV EAX,dword ptr [ESP + 0x110]
SUB ESP,0x4
MOV ESI,dword ptr [EAX + 0x8]
LEA EAX,[EBX + 0xfffdaf94]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0x4]
MOVZX EDX,DL
PUSH EDX
JMP 0x0006500d
MOV EAX,dword ptr [ESP + 0x110]
SUB ESP,0x4
MOV EDI,dword ptr [EAX + 0x8]
PUSH 0x5
LEA EAX,[EBX + 0xfffddb24]
JMP 0x00063189
LEA EBP,[ESP + 0xec]
JMP 0x00063b0b
MOV EAX,dword ptr [ESP + 0xe8]
JMP 0x00064128
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00063020(int param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint *puVar3;\n  uint uVar4;\n  bool bVar5;\n  bool bVar6;\n  undefined *puVar7;\n  byte bVar8;\n  bool bVar9;\n  ushort uVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  uint *puVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  int iVar28;\n  size_t __nmemb;\n  undefined4 uVar29;\n  byte bVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  int iVar34;\n  FILE *pFVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  uint uVar39;\n  byte *pbVar40;\n  bool bVar41;\n  bool bVar42;\n  longlong lVar43;\n  ulonglong uVar44;\n  ulonglong uVar45;\n  longlong lVar46;\n  undefined8 uVar47;\n  ulonglong uVar48;\n  uint local_10c;\n  uint local_108;\n  uint local_104;\n  uint local_100;\n  int local_fc;\n  uint local_f4;\n  uint local_f0;\n  uint local_ec;\n  int local_e8;\n  int *local_e4;\n  int *local_dc;\n  uint local_d8;\n  int local_d4;\n  int local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_8c;\n  uint local_7c;\n  uint local_68;\n  void *local_5c;\n  uint local_28;\n  uint local_24;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar8 = 0;\n  uStack_14 = 0x63029;\n  uVar19 = *(uint *)(param_1 + 0x10);\n  pcVar12 = *(char **)(param_1 + 8);\n  pbVar11 = (byte *)strrchr(pcVar12,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar11 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  uVar2 = *(uint *)(param_1 + 0x1c);\n  if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }\n  pcVar12 = strstr(pcVar12,"debug_loclists");\n  if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }\n  local_d4 = 0;\n  local_d0 = 0;\nLAB_0006322d:\n  iVar31 = FUN_00062460();\n  if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }\n  if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }\n  uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(uVar15);\nLAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;\n  if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }\n  local_5c = (void *)0x0;\n  if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }\n  FUN_0004eb80();\n  iVar31 = FUN_00045000(param_1,0,0);\n  if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar14);\n  puVar7 = PTR_stdout_000b3fd8;\n  local_28 = uVar19;\n  if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }\n  uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n  if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }\n  putc(10,*(FILE **)puVar7);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  local_28 = uVar37;\n  uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n  warn(uVar15,local_10c);\ncode_r0x00064ee9:\n  local_24 = local_104;\nLAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\nLAB_0006373a:\n  iVar34 = local_fc + iVar31;\n  local_f0 = local_f0 + 1;\n  if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}\n\n" comment (function_definition "undefined4 FUN_00063020(int param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint *puVar3;\n  uint uVar4;\n  bool bVar5;\n  bool bVar6;\n  undefined *puVar7;\n  byte bVar8;\n  bool bVar9;\n  ushort uVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  uint *puVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  int iVar28;\n  size_t __nmemb;\n  undefined4 uVar29;\n  byte bVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  int iVar34;\n  FILE *pFVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  uint uVar39;\n  byte *pbVar40;\n  bool bVar41;\n  bool bVar42;\n  longlong lVar43;\n  ulonglong uVar44;\n  ulonglong uVar45;\n  longlong lVar46;\n  undefined8 uVar47;\n  ulonglong uVar48;\n  uint local_10c;\n  uint local_108;\n  uint local_104;\n  uint local_100;\n  int local_fc;\n  uint local_f4;\n  uint local_f0;\n  uint local_ec;\n  int local_e8;\n  int *local_e4;\n  int *local_dc;\n  uint local_d8;\n  int local_d4;\n  int local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_8c;\n  uint local_7c;\n  uint local_68;\n  void *local_5c;\n  uint local_28;\n  uint local_24;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar8 = 0;\n  uStack_14 = 0x63029;\n  uVar19 = *(uint *)(param_1 + 0x10);\n  pcVar12 = *(char **)(param_1 + 8);\n  pbVar11 = (byte *)strrchr(pcVar12,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar11 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  uVar2 = *(uint *)(param_1 + 0x1c);\n  if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }\n  pcVar12 = strstr(pcVar12,"debug_loclists");\n  if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }\n  local_d4 = 0;\n  local_d0 = 0;\nLAB_0006322d:\n  iVar31 = FUN_00062460();\n  if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }\n  if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }\n  uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(uVar15);\nLAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;\n  if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }\n  local_5c = (void *)0x0;\n  if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }\n  FUN_0004eb80();\n  iVar31 = FUN_00045000(param_1,0,0);\n  if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar14);\n  puVar7 = PTR_stdout_000b3fd8;\n  local_28 = uVar19;\n  if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }\n  uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n  if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }\n  putc(10,*(FILE **)puVar7);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  local_28 = uVar37;\n  uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n  warn(uVar15,local_10c);\ncode_r0x00064ee9:\n  local_24 = local_104;\nLAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\nLAB_0006373a:\n  iVar34 = local_fc + iVar31;\n  local_f0 = local_f0 + 1;\n  if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}" type_identifier (function_declarator "FUN_00063020(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint *puVar3;\n  uint uVar4;\n  bool bVar5;\n  bool bVar6;\n  undefined *puVar7;\n  byte bVar8;\n  bool bVar9;\n  ushort uVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  uint *puVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  int iVar28;\n  size_t __nmemb;\n  undefined4 uVar29;\n  byte bVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  int iVar34;\n  FILE *pFVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  uint uVar39;\n  byte *pbVar40;\n  bool bVar41;\n  bool bVar42;\n  longlong lVar43;\n  ulonglong uVar44;\n  ulonglong uVar45;\n  longlong lVar46;\n  undefined8 uVar47;\n  ulonglong uVar48;\n  uint local_10c;\n  uint local_108;\n  uint local_104;\n  uint local_100;\n  int local_fc;\n  uint local_f4;\n  uint local_f0;\n  uint local_ec;\n  int local_e8;\n  int *local_e4;\n  int *local_dc;\n  uint local_d8;\n  int local_d4;\n  int local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_8c;\n  uint local_7c;\n  uint local_68;\n  void *local_5c;\n  uint local_28;\n  uint local_24;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar8 = 0;\n  uStack_14 = 0x63029;\n  uVar19 = *(uint *)(param_1 + 0x10);\n  pcVar12 = *(char **)(param_1 + 8);\n  pbVar11 = (byte *)strrchr(pcVar12,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar11 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  uVar2 = *(uint *)(param_1 + 0x1c);\n  if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }\n  pcVar12 = strstr(pcVar12,"debug_loclists");\n  if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }\n  local_d4 = 0;\n  local_d0 = 0;\nLAB_0006322d:\n  iVar31 = FUN_00062460();\n  if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }\n  if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }\n  uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(uVar15);\nLAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;\n  if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }\n  local_5c = (void *)0x0;\n  if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }\n  FUN_0004eb80();\n  iVar31 = FUN_00045000(param_1,0,0);\n  if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar14);\n  puVar7 = PTR_stdout_000b3fd8;\n  local_28 = uVar19;\n  if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }\n  uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n  if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }\n  putc(10,*(FILE **)puVar7);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  local_28 = uVar37;\n  uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n  warn(uVar15,local_10c);\ncode_r0x00064ee9:\n  local_24 = local_104;\nLAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\nLAB_0006373a:\n  iVar34 = local_fc + iVar31;\n  local_f0 = local_f0 + 1;\n  if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "ushort uVar10;" type_identifier identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "size_t __nmemb;" primitive_type identifier ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "byte bVar30;" type_identifier identifier ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "uint uVar33;" type_identifier identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "FILE *pFVar35;" type_identifier (pointer_declarator "*pFVar35" * identifier) ;) (declaration "uint uVar36;" type_identifier identifier ;) (declaration "uint uVar37;" type_identifier identifier ;) (declaration "uint uVar38;" type_identifier identifier ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "byte *pbVar40;" type_identifier (pointer_declarator "*pbVar40" * identifier) ;) (declaration "bool bVar41;" primitive_type identifier ;) (declaration "bool bVar42;" primitive_type identifier ;) (declaration "longlong lVar43;" type_identifier identifier ;) (declaration "ulonglong uVar44;" type_identifier identifier ;) (declaration "ulonglong uVar45;" type_identifier identifier ;) (declaration "longlong lVar46;" type_identifier identifier ;) (declaration "undefined8 uVar47;" type_identifier identifier ;) (declaration "ulonglong uVar48;" type_identifier identifier ;) (declaration "uint local_10c;" type_identifier identifier ;) (declaration "uint local_108;" type_identifier identifier ;) (declaration "uint local_104;" type_identifier identifier ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "int local_fc;" primitive_type identifier ;) (declaration "uint local_f4;" type_identifier identifier ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "uint local_ec;" type_identifier identifier ;) (declaration "int local_e8;" primitive_type identifier ;) (declaration "int *local_e4;" primitive_type (pointer_declarator "*local_e4" * identifier) ;) (declaration "int *local_dc;" primitive_type (pointer_declarator "*local_dc" * identifier) ;) (declaration "uint local_d8;" type_identifier identifier ;) (declaration "int local_d4;" primitive_type identifier ;) (declaration "int local_d0;" primitive_type identifier ;) (declaration "int local_cc;" primitive_type identifier ;) (declaration "uint local_c8;" type_identifier identifier ;) (declaration "uint local_bc;" type_identifier 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_8c;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "void *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "int local_20 [3];" primitive_type (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar8 = 0;" (assignment_expression "bVar8 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x63029;" (assignment_expression "uStack_14 = 0x63029" identifier = number_literal) ;) (expression_statement "uVar19 = *(uint *)(param_1 + 0x10);" (assignment_expression "uVar19 = *(uint *)(param_1 + 0x10)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar12 = *(char **)(param_1 + 8);" (assignment_expression "pcVar12 = *(char **)(param_1 + 8)" identifier = (pointer_expression "*(char **)(param_1 + 8)" * (cast_expression "(char **)(param_1 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "pbVar11 = (byte *)strrchr(pcVar12,0x2e);" (assignment_expression "pbVar11 = (byte *)strrchr(pcVar12,0x2e)" identifier = (cast_expression "(byte *)strrchr(pcVar12,0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strrchr(pcVar12,0x2e)" identifier (argument_list "(pcVar12,0x2e)" ( identifier , number_literal ))))) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "bVar41 = false;" (assignment_expression "bVar41 = false" identifier = false) ;) (expression_statement "bVar42 = pbVar11 == (byte *)0x0;" (assignment_expression "bVar42 = pbVar11 == (byte *)0x0" identifier = (binary_expression "pbVar11 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }" if (parenthesized_expression "(!bVar42)" ( (unary_expression "!bVar42" ! identifier) )) (compound_statement "{\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }" { (expression_statement "iVar31 = 5;" (assignment_expression "iVar31 = 5" identifier = number_literal) ;) (expression_statement "pbVar40 = (byte *)0x9432f;" (assignment_expression "pbVar40 = (byte *)0x9432f" identifier = (cast_expression "(byte *)0x9432f" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);" do (compound_statement "{\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    }" { (if_statement "if (iVar31 == 0) break;" if (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar31 = iVar31 + -1;" (assignment_expression "iVar31 = iVar31 + -1" identifier = (binary_expression "iVar31 + -1" identifier + number_literal)) ;) (expression_statement "bVar41 = *pbVar11 < *pbVar40;" (assignment_expression "bVar41 = *pbVar11 < *pbVar40" identifier = (binary_expression "*pbVar11 < *pbVar40" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar40" * identifier))) ;) (expression_statement "bVar42 = *pbVar11 == *pbVar40;" (assignment_expression "bVar42 = *pbVar11 == *pbVar40" identifier = (binary_expression "*pbVar11 == *pbVar40" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar40" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1" identifier = (binary_expression "pbVar11 + (uint)bVar8 * -2 + 1" (binary_expression "pbVar11 + (uint)bVar8 * -2" identifier + (binary_expression "(uint)bVar8 * -2" (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;" (assignment_expression "pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1" identifier = (binary_expression "pbVar40 + (uint)bVar8 * -2 + 1" (binary_expression "pbVar40 + (uint)bVar8 * -2" identifier + (binary_expression "(uint)bVar8 * -2" (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar42)" ( identifier )) ;) (expression_statement "local_68 = (uint)((!bVar41 && !bVar42) == bVar41);" (assignment_expression "local_68 = (uint)((!bVar41 && !bVar42) == bVar41)" identifier = (call_expression "(uint)((!bVar41 && !bVar42) == bVar41)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((!bVar41 && !bVar42) == bVar41)" ( (binary_expression "(!bVar41 && !bVar42) == bVar41" (parenthesized_expression "(!bVar41 && !bVar42)" ( (binary_expression "!bVar41 && !bVar42" (unary_expression "!bVar41" ! identifier) && (unary_expression "!bVar42" ! identifier)) )) == identifier) )))) ;) })) (expression_statement "uVar2 = *(uint *)(param_1 + 0x1c);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x1c)" identifier = (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) ))))) ;) (if_statement "if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }" { (expression_statement "pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nThe %s section is empty.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nThe %s section is empty.\n",5)" identifier (argument_list "(0,"\nThe %s section is empty.\n",5)" ( number_literal , (string_literal ""\nThe %s section is empty.\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,pcVar12);" (call_expression "printf(pcVar14,pcVar12)" identifier (argument_list "(pcVar14,pcVar12)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar12 = strstr(pcVar12,"debug_loclists");" (assignment_expression "pcVar12 = strstr(pcVar12,"debug_loclists")" identifier = (call_expression "strstr(pcVar12,"debug_loclists")" identifier (argument_list "(pcVar12,"debug_loclists")" ( identifier , (string_literal ""debug_loclists"" " string_content ") )))) ;) (if_statement "if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }" if (parenthesized_expression "(pcVar12 != (char *)0x0)" ( (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }" { (expression_statement "uVar38 = uVar19 + 4;" (assignment_expression "uVar38 = uVar19 + 4" identifier = (binary_expression "uVar19 + 4" identifier + number_literal)) ;) (expression_statement "uVar37 = uVar19 + uVar2;" (assignment_expression "uVar37 = uVar19 + uVar2" identifier = (binary_expression "uVar19 + uVar2" identifier + identifier)) ;) (expression_statement "uVar39 = uVar38;" (assignment_expression "uVar39 = uVar38" identifier = identifier) ;) (if_statement "if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }" if (parenthesized_expression "(uVar38 < uVar37)" ( (binary_expression "uVar38 < uVar37" identifier < identifier) )) (compound_statement "{\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }" { (expression_statement "uVar36 = 4;" (assignment_expression "uVar36 = 4" identifier = number_literal) ;) (labeled_statement "LAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);" statement_identifier : (expression_statement "lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);" (assignment_expression "lVar43 = (*DAT_000b9dd8)(uVar19,uVar36)" identifier = (call_expression "(*DAT_000b9dd8)(uVar19,uVar36)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar19,uVar36)" ( identifier , identifier )))) ;)) (if_statement "if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }" if (parenthesized_expression "(lVar43 == 0xffffffff)" ( (binary_expression "lVar43 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }" { (expression_statement "uVar39 = uVar19 + 0xc;" (assignment_expression "uVar39 = uVar19 + 0xc" identifier = (binary_expression "uVar19 + 0xc" identifier + number_literal)) ;) (if_statement "if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }" if (parenthesized_expression "(uVar39 < uVar37)" ( (binary_expression "uVar39 < uVar37" identifier < identifier) )) (compound_statement "{\n          iVar31 = 8;\n        }" { (expression_statement "iVar31 = 8;" (assignment_expression "iVar31 = 8" identifier = number_literal) ;) }) (else_clause "else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }" else (compound_statement "{\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }" { (if_statement "if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;" if (parenthesized_expression "((uVar37 <= uVar38) || (7 < uVar2 - 5))" ( (binary_expression "(uVar37 <= uVar38) || (7 < uVar2 - 5)" (parenthesized_expression "(uVar37 <= uVar38)" ( (binary_expression "uVar37 <= uVar38" identifier <= identifier) )) || (parenthesized_expression "(7 < uVar2 - 5)" ( (binary_expression "7 < uVar2 - 5" number_literal < (binary_expression "uVar2 - 5" identifier - number_literal)) ))) )) (goto_statement "goto LAB_00063148;" goto statement_identifier ;)) (expression_statement "iVar31 = uVar2 - 4;" (assignment_expression "iVar31 = uVar2 - 4" identifier = (binary_expression "uVar2 - 4" identifier - number_literal)) ;) }))) (expression_statement "(*DAT_000b9dd8)(uVar38,iVar31);" (call_expression "(*DAT_000b9dd8)(uVar38,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar38,iVar31)" ( identifier , identifier ))) ;) })) (expression_statement "uVar38 = uVar39 + 2;" (assignment_expression "uVar38 = uVar39 + 2" identifier = (binary_expression "uVar39 + 2" identifier + number_literal)) ;) (if_statement "if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;" if (parenthesized_expression "(uVar38 < uVar37)" ( (binary_expression "uVar38 < uVar37" identifier < identifier) )) (compound_statement "{\n        iVar31 = 2;\n      }" { (expression_statement "iVar31 = 2;" (assignment_expression "iVar31 = 2" identifier = number_literal) ;) }) (else_clause "else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;" else (if_statement "if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;" if (parenthesized_expression "((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U))" ( (binary_expression "(uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)" (parenthesized_expression "(uVar37 <= uVar39)" ( (binary_expression "uVar37 <= uVar39" identifier <= identifier) )) || (parenthesized_expression "(iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)" ( (comma_expression "iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U" (assignment_expression "iVar31 = uVar37 - uVar39" identifier = (binary_expression "uVar37 - uVar39" identifier - identifier)) , (binary_expression "7 < iVar31 - 1U" number_literal < (binary_expression "iVar31 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_00063137;" goto statement_identifier ;)))) (labeled_statement "LAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);" statement_identifier : (expression_statement "uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);" (assignment_expression "uVar10 = (*DAT_000b9dd8)(uVar39,iVar31)" identifier = (call_expression "(*DAT_000b9dd8)(uVar39,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar39,iVar31)" ( identifier , identifier )))) ;)) (if_statement "if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }" if (parenthesized_expression "(uVar10 == 5)" ( (binary_expression "uVar10 == 5" identifier == number_literal) )) (compound_statement "{\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }" { (expression_statement "uVar36 = uVar39 + 3;" (assignment_expression "uVar36 = uVar39 + 3" identifier = (binary_expression "uVar39 + 3" identifier + number_literal)) ;) (if_statement "if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" if (parenthesized_expression "(uVar36 < uVar37)" ( (binary_expression "uVar36 < uVar37" identifier < identifier) )) (compound_statement "{\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }" { (expression_statement "iVar31 = 1;" (assignment_expression "iVar31 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);" statement_identifier : (expression_statement "(*DAT_000b9dd8)(uVar38,iVar31);" (call_expression "(*DAT_000b9dd8)(uVar38,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar38,iVar31)" ( identifier , identifier ))) ;)) (if_statement "if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;" if (parenthesized_expression "(uVar39 + 4 < uVar37)" ( (binary_expression "uVar39 + 4 < uVar37" (binary_expression "uVar39 + 4" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_000633ff:\n            iVar31 = 1;\n          }" { (labeled_statement "LAB_000633ff:\n            iVar31 = 1;" statement_identifier : (expression_statement "iVar31 = 1;" (assignment_expression "iVar31 = 1" identifier = number_literal) ;)) }) (else_clause "else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;" else (if_statement "if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;" if (parenthesized_expression "((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))" ( (binary_expression "(uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U)" (parenthesized_expression "(uVar37 <= uVar36)" ( (binary_expression "uVar37 <= uVar36" identifier <= identifier) )) || (parenthesized_expression "(iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U)" ( (comma_expression "iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U" (assignment_expression "iVar31 = uVar37 - uVar36" identifier = (binary_expression "uVar37 - uVar36" identifier - identifier)) , (binary_expression "7 < iVar31 - 1U" number_literal < (binary_expression "iVar31 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_000631f5;" goto statement_identifier ;)))) (expression_statement "bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);" (assignment_expression "bVar8 = (*DAT_000b9dd8)(uVar36,iVar31)" identifier = (call_expression "(*DAT_000b9dd8)(uVar36,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar36,iVar31)" ( identifier , identifier )))) ;) (if_statement "if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }" if (parenthesized_expression "(bVar8 != 0)" ( (binary_expression "bVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }" { (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);" (assignment_expression "uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5)" identifier = (call_expression "dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5)" identifier (argument_list "(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5)" ( number_literal , (string_literal ""The %s section contains unsupported segment selector size: %d.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "uVar19 = (uint)bVar8;" (assignment_expression "uVar19 = (uint)bVar8" identifier = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_0006500d;" goto statement_identifier ;) })) (if_statement "if (uVar39 + 8 < uVar37) goto LAB_000631fc;" if (parenthesized_expression "(uVar39 + 8 < uVar37)" ( (binary_expression "uVar39 + 8 < uVar37" (binary_expression "uVar39 + 8" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_000631fc;" goto statement_identifier ;)) (if_statement "if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;" if (parenthesized_expression "((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))" ( (binary_expression "(uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8)" (parenthesized_expression "(uVar39 + 4 < uVar37)" ( (binary_expression "uVar39 + 4 < uVar37" (binary_expression "uVar39 + 4" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8)" ( (comma_expression "iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8" (assignment_expression "iVar31 = uVar37 - (uVar39 + 4)" identifier = (binary_expression "uVar37 - (uVar39 + 4)" identifier - (parenthesized_expression "(uVar39 + 4)" ( (binary_expression "uVar39 + 4" identifier + number_literal) )))) , (binary_expression "iVar31 - 1U < 8" (binary_expression "iVar31 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00063201;" goto statement_identifier ;)) }) (else_clause "else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" else (compound_statement "{\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" { (if_statement "if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;" if (parenthesized_expression "((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8))" ( (binary_expression "(uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)" (parenthesized_expression "(uVar38 < uVar37)" ( (binary_expression "uVar38 < uVar37" identifier < identifier) )) && (parenthesized_expression "(iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)" ( (comma_expression "iVar31 = uVar37 - uVar38, iVar31 - 1U < 8" (assignment_expression "iVar31 = uVar37 - uVar38" identifier = (binary_expression "uVar37 - uVar38" identifier - identifier)) , (binary_expression "iVar31 - 1U < 8" (binary_expression "iVar31 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_000631c0;" goto statement_identifier ;)) (if_statement "if (uVar39 + 4 < uVar37) goto LAB_000633ff;" if (parenthesized_expression "(uVar39 + 4 < uVar37)" ( (binary_expression "uVar39 + 4 < uVar37" (binary_expression "uVar39 + 4" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_000633ff;" goto statement_identifier ;)) (labeled_statement "LAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;" statement_identifier : (if_statement "if (uVar37 <= uVar39 + 8) goto LAB_00063219;" if (parenthesized_expression "(uVar37 <= uVar39 + 8)" ( (binary_expression "uVar37 <= uVar39 + 8" identifier <= (binary_expression "uVar39 + 8" identifier + number_literal)) )) (goto_statement "goto LAB_00063219;" goto statement_identifier ;))) (labeled_statement "LAB_000631fc:\n          iVar31 = 4;" statement_identifier : (expression_statement "iVar31 = 4;" (assignment_expression "iVar31 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);" statement_identifier : (expression_statement "uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);" (assignment_expression "uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31)" identifier = (call_expression "(*DAT_000b9dd8)(uVar39 + 4,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar39 + 4,iVar31)" ( (binary_expression "uVar39 + 4" identifier + number_literal) , identifier )))) ;)) (if_statement "if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }" if (parenthesized_expression "(uVar38 != 0)" ( (binary_expression "uVar38 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }" { (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(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 "pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";" (assignment_expression "pcVar12 = "The %s section contains unsupported offset entry count: %d.\n"" identifier = (string_literal ""The %s section contains unsupported offset entry count: %d.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00063189;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;" statement_identifier : (expression_statement "local_d4 = (uVar39 + 8) - uVar19;" (assignment_expression "local_d4 = (uVar39 + 8) - uVar19" identifier = (binary_expression "(uVar39 + 8) - uVar19" (parenthesized_expression "(uVar39 + 8)" ( (binary_expression "uVar39 + 8" identifier + number_literal) )) - identifier)) ;)) (expression_statement "local_d0 = local_d4 >> 0x1f;" (assignment_expression "local_d0 = local_d4 >> 0x1f" identifier = (binary_expression "local_d4 >> 0x1f" identifier >> number_literal)) ;) (goto_statement "goto LAB_0006322d;" goto statement_identifier ;) })) (expression_statement "uVar38 = (uint)uVar10;" (assignment_expression "uVar38 = (uint)uVar10" identifier = (cast_expression "(uint)uVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }" else (compound_statement "{\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }" { (if_statement "if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;" if (parenthesized_expression "((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8))" ( (binary_expression "(uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)" (parenthesized_expression "(uVar19 < uVar37)" ( (binary_expression "uVar19 < uVar37" identifier < identifier) )) && (parenthesized_expression "(uVar36 = uVar2, uVar2 - 1 < 8)" ( (comma_expression "uVar36 = uVar2, uVar2 - 1 < 8" (assignment_expression "uVar36 = uVar2" identifier = identifier) , (binary_expression "uVar2 - 1 < 8" (binary_expression "uVar2 - 1" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_000630f8;" goto statement_identifier ;)) (labeled_statement "LAB_00063148:\n      uVar38 = uVar39 + 2;" statement_identifier : (expression_statement "uVar38 = uVar39 + 2;" (assignment_expression "uVar38 = uVar39 + 2" identifier = (binary_expression "uVar39 + 2" identifier + number_literal)) ;)) (if_statement "if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }" if (parenthesized_expression "(uVar38 < uVar37)" ( (binary_expression "uVar38 < uVar37" identifier < identifier) )) (compound_statement "{\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }" { (expression_statement "iVar31 = 2;" (assignment_expression "iVar31 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_0006315d;" goto statement_identifier ;) })) (labeled_statement "LAB_00063137:\n      uVar38 = 0;" statement_identifier : (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" identifier = number_literal) ;)) }))) (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(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 "pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";" (assignment_expression "pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n"" identifier = (string_literal ""The %s section contains corrupt or unsupported version number: %d.\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);" statement_identifier : (expression_statement "uVar13 = dcgettext(0,pcVar12,5);" (assignment_expression "uVar13 = dcgettext(0,pcVar12,5)" identifier = (call_expression "dcgettext(0,pcVar12,5)" identifier (argument_list "(0,pcVar12,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "warn(uVar13,uVar15,uVar38);" (call_expression "warn(uVar13,uVar15,uVar38)" identifier (argument_list "(uVar13,uVar15,uVar38)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0006322d:\n  iVar31 = FUN_00062460();" statement_identifier : (expression_statement "iVar31 = FUN_00062460();" (assignment_expression "iVar31 = FUN_00062460()" identifier = (call_expression "FUN_00062460()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }" if (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }" { (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(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 "uVar19 = 5;" (assignment_expression "uVar19 = 5" identifier = number_literal) ;) (expression_statement "uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);" (assignment_expression "uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5)" identifier = (call_expression "dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5)" identifier (argument_list "(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5)" ( number_literal , (string_literal ""Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"" " string_content escape_sequence ") , number_literal )))) ;) (labeled_statement "LAB_0006500d:\n    warn(uVar13,uVar15,uVar19);" statement_identifier : (expression_statement "warn(uVar13,uVar15,uVar19);" (call_expression "warn(uVar13,uVar15,uVar19)" identifier (argument_list "(uVar13,uVar15,uVar19)" ( identifier , identifier , identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }" if (parenthesized_expression "(DAT_000b9d6c == 0)" ( (binary_expression "DAT_000b9d6c == 0" identifier == number_literal) )) (compound_statement "{\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }" { (expression_statement "local_dc = (int *)0x0;" (assignment_expression "local_dc = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) }) (else_clause "else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }" else (compound_statement "{\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }" { (expression_statement "bVar42 = false;" (assignment_expression "bVar42 = false" identifier = false) ;) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_e4 = (int *)(DAT_000b9d64 + 0x2c);" (assignment_expression "local_e4 = (int *)(DAT_000b9d64 + 0x2c)" identifier = (cast_expression "(int *)(DAT_000b9d64 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000b9d64 + 0x2c)" ( (binary_expression "DAT_000b9d64 + 0x2c" identifier + number_literal) )))) ;) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "local_104 = 0;" (assignment_expression "local_104 = 0" identifier = number_literal) ;) (expression_statement "local_dc = (int *)0x0;" (assignment_expression "local_dc = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);" do (compound_statement "{\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    }" { (expression_statement "uVar38 = local_e4[3];" (assignment_expression "uVar38 = local_e4[3]" identifier = (subscript_expression "local_e4[3]" identifier [ number_literal ])) ;) (if_statement "if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }" if (parenthesized_expression "(local_dc < uVar38)" ( (binary_expression "local_dc < uVar38" identifier < identifier) )) (compound_statement "{\n        local_dc = (int *)uVar38;\n      }" { (expression_statement "local_dc = (int *)uVar38;" (assignment_expression "local_dc = (int *)uVar38" identifier = (cast_expression "(int *)uVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (if_statement "if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }" if (parenthesized_expression "((uVar38 != 0) && (bVar41))" ( (binary_expression "(uVar38 != 0) && (bVar41)" (parenthesized_expression "(uVar38 != 0)" ( (binary_expression "uVar38 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar41)" ( identifier ))) )) (compound_statement "{\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }" { (if_statement "if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }" if (parenthesized_expression "(!bVar42)" ( (unary_expression "!bVar42" ! identifier) )) (compound_statement "{\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }" { (expression_statement "local_104 = *(uint *)*local_e4;" (assignment_expression "local_104 = *(uint *)*local_e4" identifier = (pointer_expression "*(uint *)*local_e4" * (cast_expression "(uint *)*local_e4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_e4" * identifier)))) ;) (expression_statement "local_f4 = *(uint *)local_e4[1];" (assignment_expression "local_f4 = *(uint *)local_e4[1]" identifier = (pointer_expression "*(uint *)local_e4[1]" * (cast_expression "(uint *)local_e4[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_e4[1]" identifier [ number_literal ])))) ;) (expression_statement "local_8c = local_f0;" (assignment_expression "local_8c = local_f0" identifier = identifier) ;) })) (expression_statement "uVar39 = (uint)!bVar42;" (assignment_expression "uVar39 = (uint)!bVar42" identifier = (cast_expression "(uint)!bVar42" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!bVar42" ! identifier))) ;) (if_statement "if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }" if (parenthesized_expression "(uVar39 < uVar38)" ( (binary_expression "uVar39 < uVar38" identifier < identifier) )) (compound_statement "{\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }" { (expression_statement "iVar31 = *local_e4;" (assignment_expression "iVar31 = *local_e4" identifier = (pointer_expression "*local_e4" * identifier)) ;) (expression_statement "uVar37 = *(uint *)(iVar31 + uVar39 * 8);" (assignment_expression "uVar37 = *(uint *)(iVar31 + uVar39 * 8)" identifier = (pointer_expression "*(uint *)(iVar31 + uVar39 * 8)" * (cast_expression "(uint *)(iVar31 + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + uVar39 * 8)" ( (binary_expression "iVar31 + uVar39 * 8" identifier + (binary_expression "uVar39 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);" (assignment_expression "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8)" identifier = (pointer_expression "*(uint *)(iVar31 + 4 + uVar39 * 8)" * (cast_expression "(uint *)(iVar31 + 4 + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 4 + uVar39 * 8)" ( (binary_expression "iVar31 + 4 + uVar39 * 8" (binary_expression "iVar31 + 4" identifier + number_literal) + (binary_expression "uVar39 * 8" identifier * number_literal)) ))))) ;) (if_statement "if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }" if (parenthesized_expression "((uVar37 < local_104) <= uVar36)" ( (binary_expression "(uVar37 < local_104) <= uVar36" (parenthesized_expression "(uVar37 < local_104)" ( (binary_expression "uVar37 < local_104" identifier < identifier) )) <= identifier) )) (compound_statement "{\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }" { (do_statement "do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);" do (compound_statement "{\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            }" { (expression_statement "uVar33 = uVar37;" (assignment_expression "uVar33 = uVar37" identifier = identifier) ;) (expression_statement "uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);" (assignment_expression "uVar37 = *(uint *)(local_e4[1] + uVar39 * 8)" identifier = (pointer_expression "*(uint *)(local_e4[1] + uVar39 * 8)" * (cast_expression "(uint *)(local_e4[1] + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_e4[1] + uVar39 * 8)" ( (binary_expression "local_e4[1] + uVar39 * 8" (subscript_expression "local_e4[1]" identifier [ number_literal ]) + (binary_expression "uVar39 * 8" identifier * number_literal)) ))))) ;) (if_statement "if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;" if (parenthesized_expression "((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4)))" ( (binary_expression "(uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))" (parenthesized_expression "(uVar36 == 0 && local_104 == uVar33)" ( (binary_expression "uVar36 == 0 && local_104 == uVar33" (binary_expression "uVar36 == 0" identifier == number_literal) && (binary_expression "local_104 == uVar33" identifier == identifier)) )) && (parenthesized_expression "(*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))" ( (binary_expression "*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4)" (pointer_expression "*(uint *)(local_e4[1] + 4 + uVar39 * 8)" * (cast_expression "(uint *)(local_e4[1] + 4 + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_e4[1] + 4 + uVar39 * 8)" ( (binary_expression "local_e4[1] + 4 + uVar39 * 8" (binary_expression "local_e4[1] + 4" (subscript_expression "local_e4[1]" identifier [ number_literal ]) + number_literal) + (binary_expression "uVar39 * 8" identifier * number_literal)) )))) < (call_expression "(uint)(uVar37 < local_f4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar37 < local_f4)" ( (binary_expression "uVar37 < local_f4" identifier < identifier) )))) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar39 = uVar39 + 1;" (assignment_expression "uVar39 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ;) (expression_statement "local_104 = uVar33;" (assignment_expression "local_104 = uVar33" identifier = identifier) ;) (expression_statement "local_f4 = uVar37;" (assignment_expression "local_f4 = uVar37" identifier = identifier) ;) (if_statement "if (uVar38 == uVar39) goto LAB_00063450;" if (parenthesized_expression "(uVar38 == uVar39)" ( (binary_expression "uVar38 == uVar39" identifier == identifier) )) (goto_statement "goto LAB_00063450;" goto statement_identifier ;)) (expression_statement "uVar37 = *(uint *)(iVar31 + uVar39 * 8);" (assignment_expression "uVar37 = *(uint *)(iVar31 + uVar39 * 8)" identifier = (pointer_expression "*(uint *)(iVar31 + uVar39 * 8)" * (cast_expression "(uint *)(iVar31 + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + uVar39 * 8)" ( (binary_expression "iVar31 + uVar39 * 8" identifier + (binary_expression "uVar39 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);" (assignment_expression "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8)" identifier = (pointer_expression "*(uint *)(iVar31 + 4 + uVar39 * 8)" * (cast_expression "(uint *)(iVar31 + 4 + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 4 + uVar39 * 8)" ( (binary_expression "iVar31 + 4 + uVar39 * 8" (binary_expression "iVar31 + 4" identifier + number_literal) + (binary_expression "uVar39 * 8" identifier * number_literal)) ))))) ;) }) while (parenthesized_expression "((uVar37 < uVar33) <= uVar36)" ( (binary_expression "(uVar37 < uVar33) <= uVar36" (parenthesized_expression "(uVar37 < uVar33)" ( (binary_expression "uVar37 < uVar33" identifier < identifier) )) <= identifier) )) ;) })) (expression_statement "bVar41 = false;" (assignment_expression "bVar41 = false" identifier = false) ;) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) }) (else_clause "else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }" else (compound_statement "{\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }" { (labeled_statement "LAB_00063450:\n          bVar41 = true;" statement_identifier : (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;)) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) }))) })) (expression_statement "local_f0 = local_f0 + 1;" (assignment_expression "local_f0 = local_f0 + 1" identifier = (binary_expression "local_f0 + 1" identifier + number_literal)) ;) (expression_statement "local_e4 = local_e4 + 0x14;" (assignment_expression "local_e4 = local_e4 + 0x14" identifier = (binary_expression "local_e4 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(DAT_000b9d6c != local_f0)" ( (binary_expression "DAT_000b9d6c != local_f0" identifier != identifier) )) ;) (expression_statement "local_cc = local_8c * 0x50;" (assignment_expression "local_cc = local_8c * 0x50" identifier = (binary_expression "local_8c * 0x50" identifier * number_literal)) ;) (if_statement "if (bVar42) goto LAB_00063484;" if (parenthesized_expression "(bVar42)" ( identifier )) (goto_statement "goto LAB_00063484;" goto statement_identifier ;)) }))) (expression_statement "uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);" (assignment_expression "uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5)" identifier = (call_expression "dcgettext(0,"No location lists in .debug_info section!\n",5)" identifier (argument_list "(0,"No location lists in .debug_info section!\n",5)" ( number_literal , (string_literal ""No location lists in .debug_info section!\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar15);" (call_expression "error(uVar15)" identifier (argument_list "(uVar15)" ( identifier ))) ;) (labeled_statement "LAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;" statement_identifier : (expression_statement "local_cc = DAT_000b9d64 + local_cc;" (assignment_expression "local_cc = DAT_000b9d64 + local_cc" identifier = (binary_expression "DAT_000b9d64 + local_cc" identifier + identifier)) ;)) (if_statement "if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }" if (parenthesized_expression "(((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30)))" ( (binary_expression "((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))" (parenthesized_expression "((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c)))" ( (binary_expression "(*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))" (parenthesized_expression "(*(int *)(local_cc + 0x38) != 0)" ( (binary_expression "*(int *)(local_cc + 0x38) != 0" (pointer_expression "*(int *)(local_cc + 0x38)" * (cast_expression "(int *)(local_cc + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_cc + 0x38)" ( (binary_expression "local_cc + 0x38" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))" ( (binary_expression "local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c)" (binary_expression "local_d0 != (*(int **)(local_cc + 0x2c))[1]" identifier != (subscript_expression "(*(int **)(local_cc + 0x2c))[1]" (parenthesized_expression "(*(int **)(local_cc + 0x2c))" ( (pointer_expression "*(int **)(local_cc + 0x2c)" * (cast_expression "(int **)(local_cc + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 0x2c)" ( (binary_expression "local_cc + 0x2c" identifier + number_literal) )))) )) [ number_literal ])) || (binary_expression "local_d4 != **(int **)(local_cc + 0x2c)" identifier != (pointer_expression "**(int **)(local_cc + 0x2c)" * (pointer_expression "*(int **)(local_cc + 0x2c)" * (cast_expression "(int **)(local_cc + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 0x2c)" ( (binary_expression "local_cc + 0x2c" identifier + number_literal) ))))))) ))) )) && (parenthesized_expression "(local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))" ( (binary_expression "local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30)" (binary_expression "local_d0 != (*(int **)(local_cc + 0x30))[1]" identifier != (subscript_expression "(*(int **)(local_cc + 0x30))[1]" (parenthesized_expression "(*(int **)(local_cc + 0x30))" ( (pointer_expression "*(int **)(local_cc + 0x30)" * (cast_expression "(int **)(local_cc + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 0x30)" ( (binary_expression "local_cc + 0x30" identifier + number_literal) )))) )) [ number_literal ])) || (binary_expression "local_d4 != **(int **)(local_cc + 0x30)" identifier != (pointer_expression "**(int **)(local_cc + 0x30)" * (pointer_expression "*(int **)(local_cc + 0x30)" * (cast_expression "(int **)(local_cc + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 0x30)" ( (binary_expression "local_cc + 0x30" identifier + number_literal) ))))))) ))) )) (compound_statement "{\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }" { (expression_statement "uVar13 = FUN_0004cb50(0);" (assignment_expression "uVar13 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(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 "uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);" (assignment_expression "uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5)" identifier = (call_expression "dcgettext(0,"Location lists in %s section start at 0x%s\n",5)" identifier (argument_list "(0,"Location lists in %s section start at 0x%s\n",5)" ( number_literal , (string_literal ""Location lists in %s section start at 0x%s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar29,uVar15,uVar13);" (call_expression "warn(uVar29,uVar15,uVar13)" identifier (argument_list "(uVar29,uVar15,uVar13)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "local_5c = (void *)0x0;" (assignment_expression "local_5c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }" if (parenthesized_expression "(!bVar41)" ( (unary_expression "!bVar41" ! identifier) )) (compound_statement "{\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }" { (expression_statement "local_5c = (void *)FUN_0005db00(local_dc,4);" (assignment_expression "local_5c = (void *)FUN_0005db00(local_dc,4)" identifier = (cast_expression "(void *)FUN_0005db00(local_dc,4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005db00(local_dc,4)" identifier (argument_list "(local_dc,4)" ( identifier , number_literal ))))) ;) })) (expression_statement "FUN_0004eb80();" (call_expression "FUN_0004eb80()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar31 = FUN_00045000(param_1,0,0);" (assignment_expression "iVar31 = FUN_00045000(param_1,0,0)" identifier = (call_expression "FUN_00045000(param_1,0,0)" identifier (argument_list "(param_1,0,0)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }" if (parenthesized_expression "(iVar31 != 0)" ( (binary_expression "iVar31 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }" { (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" identifier (argument_list "(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" ( number_literal , (string_literal "" Warning: This section has relocations - addresses seen here may not be accurate.\n\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    Offset   Begin            End              Expression\n",5)" identifier (argument_list "(0,"    Offset   Begin            End              Expression\n",5)" ( number_literal , (string_literal ""    Offset   Begin            End              Expression\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "puVar7 = PTR_stdout_000b3fd8;" (assignment_expression "puVar7 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "local_28 = uVar19;" (assignment_expression "local_28 = uVar19" identifier = identifier) ;) (if_statement "if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }" if (parenthesized_expression "(local_8c < DAT_000b9d6c)" ( (binary_expression "local_8c < DAT_000b9d6c" identifier < identifier) )) (compound_statement "{\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }" { (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;) (expression_statement "bVar42 = false;" (assignment_expression "bVar42 = false" identifier = false) ;) (do_statement "do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);" do (compound_statement "{\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    }" { (expression_statement "iVar31 = local_8c * 0x50;" (assignment_expression "iVar31 = local_8c * 0x50" identifier = (binary_expression "local_8c * 0x50" identifier * number_literal)) ;) (expression_statement "iVar34 = local_fc + iVar31;" (assignment_expression "iVar34 = local_fc + iVar31" identifier = (binary_expression "local_fc + iVar31" identifier + identifier)) ;) (expression_statement "__nmemb = *(size_t *)(iVar34 + 0x38);" (assignment_expression "__nmemb = *(size_t *)(iVar34 + 0x38)" identifier = (pointer_expression "*(size_t *)(iVar34 + 0x38)" * (cast_expression "(size_t *)(iVar34 + 0x38)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x38)" ( (binary_expression "iVar34 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }" if (parenthesized_expression "(!bVar41)" ( (unary_expression "!bVar41" ! identifier) )) (compound_statement "{\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }" { (if_statement "if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }" if (parenthesized_expression "(__nmemb != 0)" ( (binary_expression "__nmemb != 0" identifier != number_literal) )) (compound_statement "{\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }" { (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" identifier = number_literal) ;) (do_statement "do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);" do (compound_statement "{\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          }" { (expression_statement "*(uint *)((int)local_5c + uVar38 * 4) = uVar38;" (assignment_expression "*(uint *)((int)local_5c + uVar38 * 4) = uVar38" (pointer_expression "*(uint *)((int)local_5c + uVar38 * 4)" * (cast_expression "(uint *)((int)local_5c + uVar38 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + uVar38 * 4)" ( (binary_expression "(int)local_5c + uVar38 * 4" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar38 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "__nmemb = *(uint *)(iVar34 + 0x38);" (assignment_expression "__nmemb = *(uint *)(iVar34 + 0x38)" identifier = (pointer_expression "*(uint *)(iVar34 + 0x38)" * (cast_expression "(uint *)(iVar34 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x38)" ( (binary_expression "iVar34 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar38 = uVar38 + 1;" (assignment_expression "uVar38 = uVar38 + 1" identifier = (binary_expression "uVar38 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar38 < __nmemb)" ( (binary_expression "uVar38 < __nmemb" identifier < identifier) )) ;) })) (expression_statement "DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);" (assignment_expression "DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(iVar34 + 0x2c)" * (cast_expression "(undefined4 *)(iVar34 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x2c)" ( (binary_expression "iVar34 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);" (assignment_expression "DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar34 + 0x30)" * (cast_expression "(undefined4 *)(iVar34 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x30)" ( (binary_expression "iVar34 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "qsort(local_5c,__nmemb,4,FUN_0004c710);" (call_expression "qsort(local_5c,__nmemb,4,FUN_0004c710)" identifier (argument_list "(local_5c,__nmemb,4,FUN_0004c710)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;) (expression_statement "iVar34 = iVar31 + DAT_000b9d64;" (assignment_expression "iVar34 = iVar31 + DAT_000b9d64" identifier = (binary_expression "iVar31 + DAT_000b9d64" identifier + identifier)) ;) (expression_statement "__nmemb = *(size_t *)(iVar34 + 0x38);" (assignment_expression "__nmemb = *(size_t *)(iVar34 + 0x38)" identifier = (pointer_expression "*(size_t *)(iVar34 + 0x38)" * (cast_expression "(size_t *)(iVar34 + 0x38)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x38)" ( (binary_expression "iVar34 + 0x38" identifier + number_literal) ))))) ;) })) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (if_statement "if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }" if (parenthesized_expression "(__nmemb != 0)" ( (binary_expression "__nmemb != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }" { (labeled_statement "LAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);" statement_identifier : (expression_statement "puVar20 = *(uint **)(iVar34 + 0x30);" (assignment_expression "puVar20 = *(uint **)(iVar34 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar34 + 0x30)" * (cast_expression "(uint **)(iVar34 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + 0x30)" ( (binary_expression "iVar34 + 0x30" identifier + number_literal) ))))) ;)) (expression_statement "puVar3 = *(uint **)(iVar34 + 0x2c);" (assignment_expression "puVar3 = *(uint **)(iVar34 + 0x2c)" identifier = (pointer_expression "*(uint **)(iVar34 + 0x2c)" * (cast_expression "(uint **)(iVar34 + 0x2c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + 0x2c)" ( (binary_expression "iVar34 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }" if (parenthesized_expression "(!bVar41)" ( (unary_expression "!bVar41" ! identifier) )) (compound_statement "{\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }" { (expression_statement "local_ec = *(uint *)((int)local_5c + local_f0 * 4);" (assignment_expression "local_ec = *(uint *)((int)local_5c + local_f0 * 4)" identifier = (pointer_expression "*(uint *)((int)local_5c + local_f0 * 4)" * (cast_expression "(uint *)((int)local_5c + local_f0 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + local_f0 * 4)" ( (binary_expression "(int)local_5c + local_f0 * 4" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_f0 * 4" identifier * number_literal)) ))))) ;) (expression_statement "local_108 = puVar3[local_ec * 2 + 1];" (assignment_expression "local_108 = puVar3[local_ec * 2 + 1]" identifier = (subscript_expression "puVar3[local_ec * 2 + 1]" identifier [ (binary_expression "local_ec * 2 + 1" (binary_expression "local_ec * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "local_10c = puVar3[local_ec * 2];" (assignment_expression "local_10c = puVar3[local_ec * 2]" identifier = (subscript_expression "puVar3[local_ec * 2]" identifier [ (binary_expression "local_ec * 2" identifier * number_literal) ])) ;) (expression_statement "uVar38 = puVar20[local_ec * 2];" (assignment_expression "uVar38 = puVar20[local_ec * 2]" identifier = (subscript_expression "puVar20[local_ec * 2]" identifier [ (binary_expression "local_ec * 2" identifier * number_literal) ])) ;) (expression_statement "local_f4 = puVar20[local_ec * 2 + 1];" (assignment_expression "local_f4 = puVar20[local_ec * 2 + 1]" identifier = (subscript_expression "puVar20[local_ec * 2 + 1]" identifier [ (binary_expression "local_ec * 2 + 1" (binary_expression "local_ec * 2" identifier * number_literal) + number_literal) ])) ;) (if_statement "if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }" if (parenthesized_expression "(local_f0 != 0)" ( (binary_expression "local_f0 != 0" identifier != number_literal) )) (compound_statement "{\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }" { (expression_statement "local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;" (assignment_expression "local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3" identifier = (binary_expression "*(int *)((int)local_5c + local_f0 * 4 + -4) << 3" (pointer_expression "*(int *)((int)local_5c + local_f0 * 4 + -4)" * (cast_expression "(int *)((int)local_5c + local_f0 * 4 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + local_f0 * 4 + -4)" ( (binary_expression "(int)local_5c + local_f0 * 4 + -4" (binary_expression "(int)local_5c + local_f0 * 4" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_f0 * 4" identifier * number_literal)) + number_literal) )))) << number_literal)) ;) (goto_statement "goto LAB_0006389e;" goto statement_identifier ;) })) (expression_statement "iVar16 = local_ec << 2;" (assignment_expression "iVar16 = local_ec << 2" identifier = (binary_expression "local_ec << 2" identifier << number_literal)) ;) (labeled_statement "LAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);" statement_identifier : (expression_statement "iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);" (assignment_expression "iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16)" identifier = (pointer_expression "*(int *)(*(int *)(iVar34 + 0x34) + iVar16)" * (cast_expression "(int *)(*(int *)(iVar34 + 0x34) + iVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar34 + 0x34) + iVar16)" ( (binary_expression "*(int *)(iVar34 + 0x34) + iVar16" (pointer_expression "*(int *)(iVar34 + 0x34)" * (cast_expression "(int *)(iVar34 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x34)" ( (binary_expression "iVar34 + 0x34" identifier + number_literal) )))) + identifier) ))))) ;)) (expression_statement "uVar39 = uVar19 + local_10c;" (assignment_expression "uVar39 = uVar19 + local_10c" identifier = (binary_expression "uVar19 + local_10c" identifier + identifier)) ;) (if_statement "if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }" if (parenthesized_expression "((local_f4 & uVar38) == 0xffffffff)" ( (binary_expression "(local_f4 & uVar38) == 0xffffffff" (parenthesized_expression "(local_f4 & uVar38)" ( (binary_expression "local_f4 & uVar38" identifier & identifier) )) == number_literal) )) (compound_statement "{\n            local_ec = 0;\n            bVar6 = false;\n          }" { (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }" else (compound_statement "{\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }" { (expression_statement "local_ec = uVar19 + uVar38;" (assignment_expression "local_ec = uVar19 + uVar38" identifier = (binary_expression "uVar19 + uVar38" identifier + identifier)) ;) (expression_statement "bVar9 = local_ec < uVar39 && local_ec != 0;" (assignment_expression "bVar9 = local_ec < uVar39 && local_ec != 0" identifier = (binary_expression "local_ec < uVar39 && local_ec != 0" (binary_expression "local_ec < uVar39" identifier < identifier) && (binary_expression "local_ec != 0" identifier != number_literal))) ;) (expression_statement "bVar6 = local_ec != 0;" (assignment_expression "bVar6 = local_ec != 0" identifier = (binary_expression "local_ec != 0" identifier != number_literal)) ;) (if_statement "if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }" if (parenthesized_expression "((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec))" ( (binary_expression "(bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)" (parenthesized_expression "(bVar9)" ( identifier )) && (parenthesized_expression "(FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)" ( (comma_expression "FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec" (call_expression "FUN_000520e0(uVar39)" identifier (argument_list "(uVar39)" ( identifier ))) , (comma_expression "bVar6 = bVar9, local_28 == local_ec" (assignment_expression "bVar6 = bVar9" identifier = identifier) , (binary_expression "local_28 == local_ec" identifier == identifier))) ))) )) (compound_statement "{\n              local_28 = local_ec;\n            }" { (expression_statement "local_28 = local_ec;" (assignment_expression "local_28 = local_ec" identifier = identifier) ;) })) }))) (if_statement "if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }" if (parenthesized_expression "(bVar42 && bVar5)" ( (binary_expression "bVar42 && bVar5" identifier && identifier) )) (compound_statement "{\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }" { (if_statement "if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" if (parenthesized_expression "(local_28 < uVar39)" ( (binary_expression "local_28 < uVar39" identifier < identifier) )) (compound_statement "{\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" { (expression_statement "pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";" (assignment_expression "pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"" identifier = (string_literal ""There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" else (compound_statement "{\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" { (if_statement "if (local_28 <= uVar39) goto LAB_000636b8;" if (parenthesized_expression "(local_28 <= uVar39)" ( (binary_expression "local_28 <= uVar39" identifier <= identifier) )) (goto_statement "goto LAB_000636b8;" goto statement_identifier ;)) (expression_statement "pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";" (assignment_expression "pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"" identifier = (string_literal ""There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar15 = dcgettext(0,pcVar14,5);" (assignment_expression "uVar15 = dcgettext(0,pcVar14,5)" identifier = (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "warn(uVar15,local_28 - uVar19,local_10c);" (call_expression "warn(uVar15,local_28 - uVar19,local_10c)" identifier (argument_list "(uVar15,local_28 - uVar19,local_10c)" ( identifier , (binary_expression "local_28 - uVar19" identifier - identifier) , identifier ))) ;) })) (labeled_statement "LAB_000636b8:\n          local_24 = local_ec;" statement_identifier : (expression_statement "local_24 = local_ec;" (assignment_expression "local_24 = local_ec" identifier = identifier) ;)) (expression_statement "local_28 = uVar39;" (assignment_expression "local_28 = uVar39" identifier = identifier) ;) (if_statement "if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }" if (parenthesized_expression "((local_10c < uVar2) <= local_108)" ( (binary_expression "(local_10c < uVar2) <= local_108" (parenthesized_expression "(local_10c < uVar2)" ( (binary_expression "local_10c < uVar2" identifier < identifier) )) <= identifier) )) (compound_statement "{\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }" { (expression_statement "uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5)" identifier = (call_expression "dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5)" identifier (argument_list "(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5)" ( number_literal , (string_literal ""Offset 0x%lx is bigger than .debug_loc section size.\n"" " string_content escape_sequence ") , number_literal )))) ;) (labeled_statement "LAB_0006371f:\n            warn(uVar15,local_10c);" statement_identifier : (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;)) (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) (goto_statement "goto LAB_0006373a;" goto statement_identifier ;) })) (if_statement "if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }" if (parenthesized_expression "((local_ec != 0) && ((uVar38 < uVar2) <= local_f4))" ( (binary_expression "(local_ec != 0) && ((uVar38 < uVar2) <= local_f4)" (parenthesized_expression "(local_ec != 0)" ( (binary_expression "local_ec != 0" identifier != number_literal) )) && (parenthesized_expression "((uVar38 < uVar2) <= local_f4)" ( (binary_expression "(uVar38 < uVar2) <= local_f4" (parenthesized_expression "(uVar38 < uVar2)" ( (binary_expression "uVar38 < uVar2" identifier < identifier) )) <= identifier) ))) )) (compound_statement "{\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }" { (expression_statement "uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5)" identifier = (call_expression "dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5)" identifier (argument_list "(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5)" ( number_literal , (string_literal ""View Offset 0x%lx is bigger than .debug_loc section size.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "local_10c = uVar38;" (assignment_expression "local_10c = uVar38" identifier = identifier) ;) (goto_statement "goto LAB_0006371f;" goto statement_identifier ;) })) (if_statement "if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" if (parenthesized_expression "(pcVar12 == (char *)0x0)" ( (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }" { (expression_statement "uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);" (assignment_expression "uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" identifier = (binary_expression "*(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" (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) )))) + (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" if (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) (compound_statement "{\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }" { (if_statement "if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }" if (parenthesized_expression "(DAT_000b9d6c <= local_8c)" ( (binary_expression "DAT_000b9d6c <= local_8c" identifier <= identifier) )) (compound_statement "{\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }" { (expression_statement "pcVar14 = "No debug information available for loc lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information available for loc lists of entry: %u\n"" identifier = (string_literal ""No debug information available for loc lists of entry: %u\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00064bdb;" goto statement_identifier ;) })) (expression_statement "puVar20 = (uint *)(iVar31 + DAT_000b9d64);" (assignment_expression "puVar20 = (uint *)(iVar31 + DAT_000b9d64)" identifier = (cast_expression "(uint *)(iVar31 + DAT_000b9d64)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + DAT_000b9d64)" ( (binary_expression "iVar31 + DAT_000b9d64" identifier + identifier) )))) ;) (expression_statement "uVar37 = *puVar20;" (assignment_expression "uVar37 = *puVar20" identifier = (pointer_expression "*puVar20" * identifier)) ;) (if_statement "if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }" if (parenthesized_expression "(uVar37 - 2 < 7)" ( (binary_expression "uVar37 - 2 < 7" (binary_expression "uVar37 - 2" identifier - number_literal) < number_literal) )) (compound_statement "{\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }" { (expression_statement "uVar33 = puVar20[3];" (assignment_expression "uVar33 = puVar20[3]" identifier = (subscript_expression "puVar20[3]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = puVar20[2];" (assignment_expression "uVar4 = puVar20[2]" identifier = (subscript_expression "puVar20[2]" identifier [ number_literal ])) ;) (expression_statement "uVar36 = uVar37 * 8 - 1;" (assignment_expression "uVar36 = uVar37 * 8 - 1" identifier = (binary_expression "uVar37 * 8 - 1" (binary_expression "uVar37 * 8" identifier * number_literal) - number_literal)) ;) (expression_statement "bVar30 = (byte)uVar36;" (assignment_expression "bVar30 = (byte)uVar36" identifier = (cast_expression "(byte)uVar36" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "bVar8 = bVar30 & 0x1f;" (assignment_expression "bVar8 = bVar30 & 0x1f" identifier = (binary_expression "bVar30 & 0x1f" identifier & number_literal)) ;) (expression_statement "uVar21 = -2 << (bVar30 & 0x1f);" (assignment_expression "uVar21 = -2 << (bVar30 & 0x1f)" identifier = (binary_expression "-2 << (bVar30 & 0x1f)" number_literal << (parenthesized_expression "(bVar30 & 0x1f)" ( (binary_expression "bVar30 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar22 = uVar21;" (assignment_expression "uVar22 = uVar21" identifier = identifier) ;) (expression_statement "uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;" (assignment_expression "uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8" identifier = (binary_expression "-1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8" (binary_expression "-1 << bVar8" number_literal << identifier) | (binary_expression "0xfffffffeU >> 0x20 - bVar8" number_literal >> (binary_expression "0x20 - bVar8" number_literal - identifier)))) ;) (if_statement "if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }" if (parenthesized_expression "((uVar36 & 0x20) != 0)" ( (binary_expression "(uVar36 & 0x20) != 0" (parenthesized_expression "(uVar36 & 0x20)" ( (binary_expression "uVar36 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar23 = uVar21;" (assignment_expression "uVar23 = uVar21" identifier = identifier) ;) })) (expression_statement "uVar22 = ~uVar22;" (assignment_expression "uVar22 = ~uVar22" identifier = (unary_expression "~uVar22" ~ identifier)) ;) (expression_statement "local_7c = local_ec;" (assignment_expression "local_7c = local_ec" identifier = identifier) ;) (expression_statement "uVar23 = ~uVar23;" (assignment_expression "uVar23 = ~uVar23" identifier = (unary_expression "~uVar23" ~ identifier)) ;) (expression_statement "uVar36 = uVar39;" (assignment_expression "uVar36 = uVar39" identifier = identifier) ;) (while_statement "while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }" { (expression_statement "uVar21 = uVar36 - uVar39;" (assignment_expression "uVar21 = uVar36 - uVar39" identifier = (binary_expression "uVar36 - uVar39" identifier - identifier)) ;) (expression_statement "uVar25 = uVar21 + local_10c;" (assignment_expression "uVar25 = uVar21 + local_10c" identifier = (binary_expression "uVar21 + local_10c" identifier + identifier)) ;) (expression_statement "iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);" (assignment_expression "iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c)" identifier = (binary_expression "((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c)" (binary_expression "((int)uVar21 >> 0x1f) + local_108" (parenthesized_expression "((int)uVar21 >> 0x1f)" ( (binary_expression "(int)uVar21 >> 0x1f" (cast_expression "(int)uVar21" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + identifier) + (cast_expression "(uint)CARRY4(uVar21,local_10c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar21,local_10c)" identifier (argument_list "(uVar21,local_10c)" ( identifier , identifier )))))) ;) (expression_statement "uVar21 = uVar36 + uVar37 * 2;" (assignment_expression "uVar21 = uVar36 + uVar37 * 2" identifier = (binary_expression "uVar36 + uVar37 * 2" identifier + (binary_expression "uVar37 * 2" identifier * number_literal))) ;) (expression_statement "local_28 = uVar36;" (assignment_expression "local_28 = uVar36" identifier = identifier) ;) (if_statement "if (uVar38 < uVar21) break;" if (parenthesized_expression "(uVar38 < uVar21)" ( (binary_expression "uVar38 < uVar21" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "printf("    %8.8lx ",uVar25);" (call_expression "printf("    %8.8lx ",uVar25)" identifier (argument_list "("    %8.8lx ",uVar25)" ( (string_literal ""    %8.8lx "" " string_content ") , identifier ))) ;) (expression_statement "uVar1 = uVar36 + uVar37;" (assignment_expression "uVar1 = uVar36 + uVar37" identifier = (binary_expression "uVar36 + uVar37" identifier + identifier)) ;) (expression_statement "uVar26 = uVar37;" (assignment_expression "uVar26 = uVar37" identifier = identifier) ;) (expression_statement "uVar27 = uVar37;" (assignment_expression "uVar27 = uVar37" identifier = identifier) ;) (if_statement "if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }" if (parenthesized_expression "(uVar1 < uVar38)" ( (binary_expression "uVar1 < uVar38" identifier < identifier) )) (compound_statement "{\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }" { (labeled_statement "LAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);" statement_identifier : (expression_statement "uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);" (assignment_expression "uVar48 = (*DAT_000b9dd8)(uVar36,uVar26)" identifier = (call_expression "(*DAT_000b9dd8)(uVar36,uVar26)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar36,uVar26)" ( identifier , identifier )))) ;)) (expression_statement "uVar44 = uVar48;" (assignment_expression "uVar44 = uVar48" identifier = identifier) ;) (if_statement "if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }" if (parenthesized_expression "((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1))))" ( (binary_expression "(uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))" (parenthesized_expression "(uVar21 == uVar38)" ( (binary_expression "uVar21 == uVar38" identifier == identifier) )) && (parenthesized_expression "((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))" ( (parenthesized_expression "(uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1))" ( (binary_expression "uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)" (binary_expression "uVar38 <= uVar1" identifier <= identifier) || (parenthesized_expression "(uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)" ( (comma_expression "uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1" (assignment_expression "uVar27 = uVar38 - uVar1" identifier = (binary_expression "uVar38 - uVar1" identifier - identifier)) , (binary_expression "7 < (uVar38 - uVar1) - 1" number_literal < (binary_expression "(uVar38 - uVar1) - 1" (parenthesized_expression "(uVar38 - uVar1)" ( (binary_expression "uVar38 - uVar1" identifier - identifier) )) - number_literal))) ))) )) ))) )) (compound_statement "{\n                      uVar45 = 0;\n                    }" { (expression_statement "uVar45 = 0;" (assignment_expression "uVar45 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }" else (compound_statement "{\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }" { (labeled_statement "LAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);" statement_identifier : (expression_statement "uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);" (assignment_expression "uVar45 = (*DAT_000b9dd8)(uVar1,uVar27)" identifier = (call_expression "(*DAT_000b9dd8)(uVar1,uVar27)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar1,uVar27)" ( identifier , identifier )))) ;)) (expression_statement "uVar48 = uVar44 | uVar45;" (assignment_expression "uVar48 = uVar44 | uVar45" identifier = (binary_expression "uVar44 | uVar45" identifier | identifier)) ;) }))) (if_statement "if (uVar48 == 0) goto LAB_00064257;" if (parenthesized_expression "(uVar48 == 0)" ( (binary_expression "uVar48 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00064257;" goto statement_identifier ;)) }) (else_clause "else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }" else (compound_statement "{\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }" { (if_statement "if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }" if (parenthesized_expression "(uVar38 <= uVar36)" ( (binary_expression "uVar38 <= uVar36" identifier <= identifier) )) (compound_statement "{\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }" { (if_statement "if (uVar21 == uVar38) goto LAB_00064230;" if (parenthesized_expression "(uVar21 == uVar38)" ( (binary_expression "uVar21 == uVar38" identifier == identifier) )) (goto_statement "goto LAB_00064230;" goto statement_identifier ;)) (labeled_statement "LAB_0006460a:\n                      uVar44 = 0;" statement_identifier : (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_00064624;" goto statement_identifier ;) })) (expression_statement "uVar26 = uVar38 - uVar36;" (assignment_expression "uVar26 = uVar38 - uVar36" identifier = (binary_expression "uVar38 - uVar36" identifier - identifier)) ;) (if_statement "if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;" if (parenthesized_expression "((uVar38 - uVar36) - 1 < 8)" ( (binary_expression "(uVar38 - uVar36) - 1 < 8" (binary_expression "(uVar38 - uVar36) - 1" (parenthesized_expression "(uVar38 - uVar36)" ( (binary_expression "uVar38 - uVar36" identifier - identifier) )) - number_literal) < number_literal) )) (goto_statement "goto LAB_00064528;" goto statement_identifier ;)) (if_statement "if (uVar21 != uVar38) goto LAB_0006460a;" if (parenthesized_expression "(uVar21 != uVar38)" ( (binary_expression "uVar21 != uVar38" identifier != identifier) )) (goto_statement "goto LAB_0006460a;" goto statement_identifier ;)) (labeled_statement "LAB_00064230:\n                    uVar44 = 0;" statement_identifier : (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;)) (expression_statement "uVar45 = 0;" (assignment_expression "uVar45 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00064257:\n                    local_28 = uVar1 + uVar37;" statement_identifier : (expression_statement "local_28 = uVar1 + uVar37;" (assignment_expression "local_28 = uVar1 + uVar37" identifier = (binary_expression "uVar1 + uVar37" identifier + identifier)) ;)) (expression_statement "iVar24 = FUN_00045000(param_1,uVar25,iVar16);" (assignment_expression "iVar24 = FUN_00045000(param_1,uVar25,iVar16)" identifier = (call_expression "FUN_00045000(param_1,uVar25,iVar16)" identifier (argument_list "(param_1,uVar25,iVar16)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }" if (parenthesized_expression "((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0))" ( (binary_expression "(iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)" (parenthesized_expression "(iVar24 == 0)" ( (binary_expression "iVar24 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)" ( (comma_expression "iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0" (assignment_expression "iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25))" identifier = (call_expression "FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25))" identifier (argument_list "(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25))" ( identifier , (binary_expression "uVar37 + uVar25" identifier + identifier) , (binary_expression "iVar16 + (uint)CARRY4(uVar37,uVar25)" identifier + (cast_expression "(uint)CARRY4(uVar37,uVar25)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar37,uVar25)" identifier (argument_list "(uVar37,uVar25)" ( identifier , identifier ))))) )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<End of list>\n",5)" identifier (argument_list "(0,"<End of list>\n",5)" ( number_literal , (string_literal ""<End of list>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (goto_statement "goto LAB_000646df;" goto statement_identifier ;) })) }))) (expression_statement "local_d8 = (uint)(uVar45 >> 0x20);" (assignment_expression "local_d8 = (uint)(uVar45 >> 0x20)" identifier = (call_expression "(uint)(uVar45 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar45 >> 0x20)" ( (binary_expression "uVar45 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_dc = (int *)uVar45;" (assignment_expression "local_dc = (int *)uVar45" identifier = (cast_expression "(int *)uVar45" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_100 = (uint)(uVar44 >> 0x20);" (assignment_expression "local_100 = (uint)(uVar44 >> 0x20)" identifier = (call_expression "(uint)(uVar44 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar44 >> 0x20)" ( (binary_expression "uVar44 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_104 = (uint)uVar44;" (assignment_expression "local_104 = (uint)uVar44" identifier = (cast_expression "(uint)uVar44" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar36 = uVar1 + uVar37;" (assignment_expression "uVar36 = uVar1 + uVar37" identifier = (binary_expression "uVar1 + uVar37" identifier + identifier)) ;) (if_statement "if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }" if (parenthesized_expression "(((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22))" ( (binary_expression "((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)" (parenthesized_expression "((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22)" ( (binary_expression "(uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22" (binary_expression "(uVar23 & local_100) == uVar23" (parenthesized_expression "(uVar23 & local_100)" ( (binary_expression "uVar23 & local_100" identifier & identifier) )) == identifier) && (binary_expression "(uVar22 & local_104) == uVar22" (parenthesized_expression "(uVar22 & local_104)" ( (binary_expression "uVar22 & local_104" identifier & identifier) )) == identifier)) )) && (parenthesized_expression "((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)" ( (binary_expression "(uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22" (binary_expression "(uVar23 & local_d8) != uVar23" (parenthesized_expression "(uVar23 & local_d8)" ( (binary_expression "uVar23 & local_d8" identifier & identifier) )) != identifier) || (binary_expression "(uVar22 & (uint)local_dc) != uVar22" (parenthesized_expression "(uVar22 & (uint)local_dc)" ( (binary_expression "uVar22 & (uint)local_dc" identifier & (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != identifier)) ))) )) (compound_statement "{\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }" { (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"(base address)\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"(base address)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"(base address)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(base address)\n",5)" identifier (argument_list "(0,"(base address)\n",5)" ( number_literal , (string_literal ""(base address)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }) (else_clause "else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }" else (compound_statement "{\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }" { (expression_statement "local_28 = uVar36;" (assignment_expression "local_28 = uVar36" identifier = identifier) ;) (if_statement "if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }" { (expression_statement "lVar46 = -1;" (assignment_expression "lVar46 = -1" identifier = number_literal) ;) (expression_statement "lVar43 = -1;" (assignment_expression "lVar43 = -1" identifier = number_literal) ;) (expression_statement "bVar42 = uVar36 + 2 == uVar38;" (assignment_expression "bVar42 = uVar36 + 2 == uVar38" identifier = (binary_expression "uVar36 + 2 == uVar38" (binary_expression "uVar36 + 2" identifier + number_literal) == identifier)) ;) (if_statement "if (uVar38 < uVar36 + 2) break;" if (parenthesized_expression "(uVar38 < uVar36 + 2)" ( (binary_expression "uVar38 < uVar36 + 2" identifier < (binary_expression "uVar36 + 2" identifier + number_literal)) )) (break_statement "break;" break ;)) }) (else_clause "else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }" else (compound_statement "{\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }" { (expression_statement "iVar16 = local_7c - uVar39;" (assignment_expression "iVar16 = local_7c - uVar39" identifier = (binary_expression "local_7c - uVar39" identifier - identifier)) ;) (expression_statement "lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);" (assignment_expression "lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38)" identifier = (call_expression "FUN_0004f990(local_7c,local_20,0,uVar38)" identifier (argument_list "(local_7c,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar24 = local_7c + local_20[0];" (assignment_expression "iVar24 = local_7c + local_20[0]" identifier = (binary_expression "local_7c + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);" (assignment_expression "lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38)" identifier = (call_expression "FUN_0004f990(iVar24,local_20,0,uVar38)" identifier (argument_list "(iVar24,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_7c = iVar24 + local_20[0];" (assignment_expression "local_7c = iVar24 + local_20[0]" identifier = (binary_expression "iVar24 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier = (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" ( number_literal , (string_literal ""views at %8.8lx for:\n    %*s "" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55)" identifier (argument_list "(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55)" ( identifier , (binary_expression "iVar16 + local_10c" identifier + identifier) , number_literal , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (expression_statement "bVar42 = uVar36 + 2 == uVar38;" (assignment_expression "bVar42 = uVar36 + 2 == uVar38" identifier = (binary_expression "uVar36 + 2 == uVar38" (binary_expression "uVar36 + 2" identifier + number_literal) == identifier)) ;) (if_statement "if (uVar38 <= uVar36 + 2 && !bVar42) break;" if (parenthesized_expression "(uVar38 <= uVar36 + 2 && !bVar42)" ( (binary_expression "uVar38 <= uVar36 + 2 && !bVar42" (binary_expression "uVar38 <= uVar36 + 2" identifier <= (binary_expression "uVar36 + 2" identifier + number_literal)) && (unary_expression "!bVar42" ! identifier)) )) (break_statement "break;" break ;)) }))) (expression_statement "local_a4 = (uint)((ulonglong)lVar46 >> 0x20);" (assignment_expression "local_a4 = (uint)((ulonglong)lVar46 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar46 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar46 >> 0x20)" ( (binary_expression "(ulonglong)lVar46 >> 0x20" (cast_expression "(ulonglong)lVar46" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_ac = (uint)lVar46;" (assignment_expression "local_ac = (uint)lVar46" identifier = (cast_expression "(uint)lVar46" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_b0 = (uint)((ulonglong)lVar43 >> 0x20);" (assignment_expression "local_b0 = (uint)((ulonglong)lVar43 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar43 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar43 >> 0x20)" ( (binary_expression "(ulonglong)lVar43 >> 0x20" (cast_expression "(ulonglong)lVar43" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_bc = (uint)lVar43;" (assignment_expression "local_bc = (uint)lVar43" identifier = (cast_expression "(uint)lVar43" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_28 = uVar36 + 2;" (assignment_expression "local_28 = uVar36 + 2" identifier = (binary_expression "uVar36 + 2" identifier + number_literal)) ;) (if_statement "if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }" if (parenthesized_expression "((bVar42) && (uVar38 <= uVar36))" ( (binary_expression "(bVar42) && (uVar38 <= uVar36)" (parenthesized_expression "(bVar42)" ( identifier )) && (parenthesized_expression "(uVar38 <= uVar36)" ( (binary_expression "uVar38 <= uVar36" identifier <= identifier) ))) )) (compound_statement "{\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar36 = uVar38;" (assignment_expression "uVar36 = uVar38" identifier = identifier) ;) }) (else_clause "else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }" else (compound_statement "{\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }" { (expression_statement "uVar10 = (*DAT_000b9dd8)(uVar36,2);" (assignment_expression "uVar10 = (*DAT_000b9dd8)(uVar36,2)" identifier = (call_expression "(*DAT_000b9dd8)(uVar36,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar36,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar36 = uVar10 + local_28;" (assignment_expression "uVar36 = uVar10 + local_28" identifier = (binary_expression "uVar10 + local_28" identifier + identifier)) ;) (if_statement "if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }" if (parenthesized_expression "(uVar38 < uVar36)" ( (binary_expression "uVar38 < uVar36" identifier < identifier) )) (compound_statement "{\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }" { (expression_statement "uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5)" identifier = (call_expression "dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5)" identifier (argument_list "(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_000646df;" goto statement_identifier ;) })) }))) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "putc(0x28,*(FILE **)puVar7);" (call_expression "putc(0x28,*(FILE **)puVar7)" identifier (argument_list "(0x28,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);" (assignment_expression "iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1)" identifier = (call_expression "FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1)" identifier (argument_list "(uVar4,uVar10,0,uVar33,0,param_1)" ( identifier , identifier , number_literal , identifier , number_literal , identifier )))) ;) (expression_statement "putc(0x29,*(FILE **)puVar7);" (call_expression "putc(0x29,*(FILE **)puVar7)" identifier (argument_list "(0x29,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }" if (parenthesized_expression "((iVar16 != 0) && (iVar34 == 0))" ( (binary_expression "(iVar16 != 0) && (iVar34 == 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar34 == 0)" ( (binary_expression "iVar34 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" identifier = (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" identifier (argument_list "(0," [without DW_AT_frame_base]",5)" ( number_literal , (string_literal "" [without DW_AT_frame_base]"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" if (parenthesized_expression "((lVar43 == lVar46) && (uVar44 == uVar45))" ( (binary_expression "(lVar43 == lVar46) && (uVar44 == uVar45)" (parenthesized_expression "(lVar43 == lVar46)" ( (binary_expression "lVar43 == lVar46" identifier == identifier) )) && (parenthesized_expression "(uVar44 == uVar45)" ( (binary_expression "uVar44 == uVar45" identifier == identifier) ))) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start == end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start == end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start == end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start == end)",5)" identifier (argument_list "(0," (start == end)",5)" ( number_literal , (string_literal "" (start == end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" identifier (argument_list "(pcVar14,pFVar35)" ( identifier , identifier ))) ;) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" else (if_statement "if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" if (parenthesized_expression "((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45))))" ( (binary_expression "(local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))" (parenthesized_expression "(local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104))" ( (binary_expression "local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)" (binary_expression "local_d8 < local_100" identifier < identifier) || (binary_expression "local_d8 - local_100 < (uint)(local_dc < local_104)" (binary_expression "local_d8 - local_100" identifier - identifier) < (call_expression "(uint)(local_dc < local_104)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_dc < local_104)" ( (binary_expression "local_dc < local_104" identifier < identifier) ))))) )) || (parenthesized_expression "((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))" ( (parenthesized_expression "(local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45))" ( (binary_expression "local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)" (binary_expression "local_a4 < local_b0" identifier < identifier) || (binary_expression "local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)" (binary_expression "local_a4 - local_b0 < (uint)(local_ac < local_bc)" (binary_expression "local_a4 - local_b0" identifier - identifier) < (call_expression "(uint)(local_ac < local_bc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_ac < local_bc)" ( (binary_expression "local_ac < local_bc" identifier < identifier) )))) && (parenthesized_expression "(uVar44 == uVar45)" ( (binary_expression "uVar44 == uVar45" identifier == identifier) )))) )) ))) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start > end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start > end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start > end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start > end)",5)" identifier (argument_list "(0," (start > end)",5)" ( number_literal , (string_literal "" (start > end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" identifier (argument_list "(pcVar14,pFVar35)" ( identifier , identifier ))) ;) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })))) (expression_statement "putc(10,pFVar35);" (call_expression "putc(10,pFVar35)" identifier (argument_list "(10,pFVar35)" ( number_literal , identifier ))) ;) }))) })) (expression_statement "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );" (assignment_expression "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  )" identifier = (call_expression "dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  )" identifier (argument_list "(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  )" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (labeled_statement "LAB_000646df:\n                local_24 = local_7c;" statement_identifier : (expression_statement "local_24 = local_7c;" (assignment_expression "local_24 = local_7c" identifier = identifier) ;)) }) (else_clause "else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }" else (compound_statement "{\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }" { (expression_statement "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier = (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,uVar37,local_8c);" (call_expression "warn(uVar15,uVar37,local_8c)" identifier (argument_list "(uVar15,uVar37,local_8c)" ( identifier , identifier , identifier ))) ;) }))) }) (else_clause "else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" else (if_statement "if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" if (parenthesized_expression "(local_8c < DAT_000b9d6c)" ( (binary_expression "local_8c < DAT_000b9d6c" identifier < identifier) )) (compound_statement "{\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" { (expression_statement "piVar17 = (int *)(iVar31 + DAT_000b9d64);" (assignment_expression "piVar17 = (int *)(iVar31 + DAT_000b9d64)" identifier = (cast_expression "(int *)(iVar31 + DAT_000b9d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + DAT_000b9d64)" ( (binary_expression "iVar31 + DAT_000b9d64" identifier + identifier) )))) ;) (expression_statement "iVar16 = *piVar17;" (assignment_expression "iVar16 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (if_statement "if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }" if (parenthesized_expression "(iVar16 - 2U < 7)" ( (binary_expression "iVar16 - 2U < 7" (binary_expression "iVar16 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }" { (expression_statement "iVar16 = piVar17[3];" (assignment_expression "iVar16 = piVar17[3]" identifier = (subscript_expression "piVar17[3]" identifier [ number_literal ])) ;) (expression_statement "iVar24 = piVar17[2];" (assignment_expression "iVar24 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "local_104 = local_ec;" (assignment_expression "local_104 = local_ec" identifier = identifier) ;) (expression_statement "uVar37 = uVar39;" (assignment_expression "uVar37 = uVar39" identifier = identifier) ;) (labeled_statement "code_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );" statement_identifier : (do_statement "do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );" do (compound_statement "{\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                }" { (expression_statement "printf("    %8.8lx ",local_10c + (uVar37 - uVar39));" (call_expression "printf("    %8.8lx ",local_10c + (uVar37 - uVar39))" identifier (argument_list "("    %8.8lx ",local_10c + (uVar37 - uVar39))" ( (string_literal ""    %8.8lx "" " string_content ") , (binary_expression "local_10c + (uVar37 - uVar39)" identifier + (parenthesized_expression "(uVar37 - uVar39)" ( (binary_expression "uVar37 - uVar39" identifier - identifier) ))) ))) ;) (if_statement "if (uVar38 <= uVar37) goto LAB_00064ec7;" if (parenthesized_expression "(uVar38 <= uVar37)" ( (binary_expression "uVar38 <= uVar37" identifier <= identifier) )) (goto_statement "goto LAB_00064ec7;" goto statement_identifier ;)) (expression_statement "local_28 = uVar37 + 1;" (assignment_expression "local_28 = uVar37 + 1" identifier = (binary_expression "uVar37 + 1" identifier + number_literal)) ;) (expression_statement "uVar36 = local_68;" (assignment_expression "uVar36 = local_68" identifier = identifier) ;) (if_statement "if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }" if (parenthesized_expression "((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))" ( (binary_expression "(uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1)" (parenthesized_expression "(uVar38 <= local_28)" ( (binary_expression "uVar38 <= local_28" identifier <= identifier) )) && (parenthesized_expression "(uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1)" ( (comma_expression "uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1" (assignment_expression "uVar36 = uVar38 - uVar37" identifier = (binary_expression "uVar38 - uVar37" identifier - identifier)) , (binary_expression "7 < (uVar38 - uVar37) - 1" number_literal < (binary_expression "(uVar38 - uVar37) - 1" (parenthesized_expression "(uVar38 - uVar37)" ( (binary_expression "uVar38 - uVar37" identifier - identifier) )) - number_literal))) ))) )) (compound_statement "{\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }" { (labeled_statement "code_r0x00063f01:\n                    local_24 = local_104;" statement_identifier : (expression_statement "local_24 = local_104;" (assignment_expression "local_24 = local_104" identifier = identifier) ;)) (expression_statement "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<End of list>\n",5)" identifier (argument_list "(0,"<End of list>\n",5)" ( number_literal , (string_literal ""<End of list>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (expression_statement "iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);" (assignment_expression "iVar28 = (*DAT_000b9dd8)(uVar37,uVar36)" identifier = (call_expression "(*DAT_000b9dd8)(uVar37,uVar36)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar37,uVar36)" ( identifier , identifier )))) ;) (if_statement "if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }" if (parenthesized_expression "(local_104 != 0)" ( (binary_expression "local_104 != 0" identifier != number_literal) )) (compound_statement "{\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }" { (if_statement "if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }" if (parenthesized_expression "(iVar28 - 2U < 3)" ( (binary_expression "iVar28 - 2U < 3" (binary_expression "iVar28 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }" { (expression_statement "iVar18 = local_104 - uVar39;" (assignment_expression "iVar18 = local_104 - uVar39" identifier = (binary_expression "local_104 - uVar39" identifier - identifier)) ;) (expression_statement "FUN_0004f990(local_104,local_20,0,uVar38);" (call_expression "FUN_0004f990(local_104,local_20,0,uVar38)" identifier (argument_list "(local_104,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar32 = local_104 + local_20[0];" (assignment_expression "iVar32 = local_104 + local_20[0]" identifier = (binary_expression "local_104 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004f990(iVar32,local_20,0,uVar38);" (call_expression "FUN_0004f990(iVar32,local_20,0,uVar38)" identifier (argument_list "(iVar32,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "local_104 = iVar32 + local_20[0];" (assignment_expression "local_104 = iVar32 + local_20[0]" identifier = (binary_expression "iVar32 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier = (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" ( number_literal , (string_literal ""views at %8.8lx for:\n    %*s "" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" identifier (argument_list "(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" ( identifier , (binary_expression "iVar18 + local_10c" identifier + identifier) , number_literal , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (switch_statement "switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }" switch (parenthesized_expression "(iVar28)" ( identifier )) (compound_statement "{\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }" { (case_statement "case 2:\n                        goto code_r0x00064a4b;" case number_literal : (goto_statement "goto code_r0x00064a4b;" goto statement_identifier ;)) (case_statement "case 3:\n                        goto code_r0x000648fb;" case number_literal : (goto_statement "goto code_r0x000648fb;" goto statement_identifier ;)) (case_statement "case 4:\n                        goto code_r0x00064a90;" case number_literal : (goto_statement "goto code_r0x00064a90;" goto statement_identifier ;)) })) }) (else_clause "else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }" else (compound_statement "{\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }" { (switch_statement "switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }" switch (parenthesized_expression "(iVar28)" ( identifier )) (compound_statement "{\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }" { (case_statement "case 0:\n                        goto code_r0x00063f01;" case number_literal : (goto_statement "goto code_r0x00063f01;" goto statement_identifier ;)) (case_statement "case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;" case number_literal : (expression_statement "FUN_0004f990(local_28,local_20,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_20,0,uVar38)" identifier (argument_list "(local_28,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar28 = local_20[0];" (assignment_expression "iVar28 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar15 = 0x15;" (assignment_expression "uVar15 = 0x15" identifier = number_literal) ;) (goto_statement "goto code_r0x00064b2b;" goto statement_identifier ;)) })) }))) (labeled_statement "LAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);" statement_identifier : (expression_statement "uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5)" identifier = (call_expression "dcgettext(0,"Unknown location list entry type 0x%x.\n",5)" identifier (argument_list "(0,"Unknown location list entry type 0x%x.\n",5)" ( number_literal , (string_literal ""Unknown location list entry type 0x%x.\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "warn(uVar15,iVar28);" (call_expression "warn(uVar15,iVar28)" identifier (argument_list "(uVar15,iVar28)" ( identifier , identifier ))) ;) (expression_statement "local_24 = local_104;" (assignment_expression "local_24 = local_104" identifier = identifier) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (switch_statement "switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }" switch (parenthesized_expression "(iVar28)" ( identifier )) (compound_statement "{\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }" { (case_statement "case 0:\n                    goto code_r0x00063f01;" case number_literal : (goto_statement "goto code_r0x00063f01;" goto statement_identifier ;)) (case_statement "case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;" case number_literal : (expression_statement "FUN_0004f990(local_28,local_20,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_20,0,uVar38)" identifier (argument_list "(local_28,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar28 = local_20[0];" (assignment_expression "iVar28 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar15 = 9;" (assignment_expression "uVar15 = 9" identifier = number_literal) ;) (labeled_statement "code_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;" statement_identifier : (expression_statement "uVar37 = iVar28 + local_28;" (assignment_expression "uVar37 = iVar28 + local_28" identifier = (binary_expression "iVar28 + local_28" identifier + identifier)) ;)) (expression_statement "printf("%*s",uVar15,&DAT_0007bc55);" (call_expression "printf("%*s",uVar15,&DAT_0007bc55)" identifier (argument_list "("%*s",uVar15,&DAT_0007bc55)" ( (string_literal ""%*s"" " string_content ") , identifier , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"(base address selection entry)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(base address selection entry)\n",5)" identifier (argument_list "(0,"(base address selection entry)\n",5)" ( number_literal , (string_literal ""(base address selection entry)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (goto_statement "goto code_r0x00063ec0;" goto statement_identifier ;)) (case_statement "case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;" case number_literal : (labeled_statement "code_r0x00064a4b:\n                    local_dc = local_20;" statement_identifier : (expression_statement "local_dc = local_20;" (assignment_expression "local_dc = local_20" identifier = identifier) ;)) (expression_statement "FUN_0004f990(local_28,local_dc,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_dc,0,uVar38)" identifier (argument_list "(local_28,local_dc,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar28 = local_28 + local_20[0];" (assignment_expression "iVar28 = local_28 + local_20[0]" identifier = (binary_expression "local_28 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004f990(iVar28,local_dc,0,uVar38);" (call_expression "FUN_0004f990(iVar28,local_dc,0,uVar38)" identifier (argument_list "(iVar28,local_dc,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar37 = local_20[0] + iVar28;" (assignment_expression "uVar37 = local_20[0] + iVar28" identifier = (binary_expression "local_20[0] + iVar28" (subscript_expression "local_20[0]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;" case number_literal : (labeled_statement "code_r0x000648fb:\n                    local_dc = local_20;" statement_identifier : (expression_statement "local_dc = local_20;" (assignment_expression "local_dc = local_20" identifier = identifier) ;)) (expression_statement "FUN_0004f990(local_28,local_dc,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_dc,0,uVar38)" identifier (argument_list "(local_28,local_dc,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "local_28 = local_28 + local_20[0];" (assignment_expression "local_28 = local_28 + local_20[0]" identifier = (binary_expression "local_28 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar37 = local_28 + 4;" (assignment_expression "uVar37 = local_28 + 4" identifier = (binary_expression "local_28 + 4" identifier + number_literal)) ;) (if_statement "if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }" if (parenthesized_expression "(uVar37 < uVar38)" ( (binary_expression "uVar37 < uVar38" identifier < identifier) )) (compound_statement "{\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }" { (expression_statement "iVar28 = 4;" (assignment_expression "iVar28 = 4" identifier = number_literal) ;) (labeled_statement "code_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);" statement_identifier : (expression_statement "uVar15 = (*DAT_000b9dd8)(local_28,iVar28);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(local_28,iVar28)" identifier = (call_expression "(*DAT_000b9dd8)(local_28,iVar28)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_28,iVar28)" ( identifier , identifier )))) ;)) }) (else_clause "else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }" else (compound_statement "{\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (if_statement "if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;" if (parenthesized_expression "((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))" ( (binary_expression "(local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8)" (parenthesized_expression "(local_28 < uVar38)" ( (binary_expression "local_28 < uVar38" identifier < identifier) )) && (parenthesized_expression "(iVar28 = uVar38 - local_28, iVar28 - 1U < 8)" ( (comma_expression "iVar28 = uVar38 - local_28, iVar28 - 1U < 8" (assignment_expression "iVar28 = uVar38 - local_28" identifier = (binary_expression "uVar38 - local_28" identifier - identifier)) , (binary_expression "iVar28 - 1U < 8" (binary_expression "iVar28 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto code_r0x00064e5d;" goto statement_identifier ;)) }))) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" identifier (argument_list "("%08x ",uVar15)" ( (string_literal ""%08x "" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;" case number_literal : (labeled_statement "code_r0x00064a90:\n                    uVar36 = uVar37 + 5;" statement_identifier : (expression_statement "uVar36 = uVar37 + 5;" (assignment_expression "uVar36 = uVar37 + 5" identifier = (binary_expression "uVar37 + 5" identifier + number_literal)) ;)) (if_statement "if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }" if (parenthesized_expression "(uVar36 < uVar38)" ( (binary_expression "uVar36 < uVar38" identifier < identifier) )) (compound_statement "{\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }" { (expression_statement "uVar15 = (*DAT_000b9dd8)(local_28,4);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(local_28,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_28,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_28,4)" ( identifier , number_literal )))) ;) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" identifier (argument_list "("%08x ",uVar15)" ( (string_literal ""%08x "" " string_content ") , identifier ))) ;) (if_statement "if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;" if (parenthesized_expression "(uVar37 + 9 < uVar38)" ( (binary_expression "uVar37 + 9 < uVar38" (binary_expression "uVar37 + 9" identifier + number_literal) < identifier) )) (goto_statement "goto code_r0x00064ad0;" goto statement_identifier ;)) (expression_statement "iVar28 = uVar38 - uVar36;" (assignment_expression "iVar28 = uVar38 - uVar36" identifier = (binary_expression "uVar38 - uVar36" identifier - identifier)) ;) (if_statement "if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }" if (parenthesized_expression "(7 < iVar28 - 1U)" ( (binary_expression "7 < iVar28 - 1U" number_literal < (binary_expression "iVar28 - 1U" identifier - number_literal)) )) (compound_statement "{\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (goto_statement "goto code_r0x00064ae3;" goto statement_identifier ;) })) (labeled_statement "code_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);" statement_identifier : (expression_statement "uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(uVar36,iVar28)" identifier = (call_expression "(*DAT_000b9dd8)(uVar36,iVar28)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar36,iVar28)" ( identifier , identifier )))) ;)) }) (else_clause "else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }" else (compound_statement "{\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }" { (if_statement "if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }" if (parenthesized_expression "(local_28 < uVar38)" ( (binary_expression "local_28 < uVar38" identifier < identifier) )) (compound_statement "{\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }" { (expression_statement "uVar33 = (uVar38 - local_28) - 1;" (assignment_expression "uVar33 = (uVar38 - local_28) - 1" identifier = (binary_expression "(uVar38 - local_28) - 1" (parenthesized_expression "(uVar38 - local_28)" ( (binary_expression "uVar38 - local_28" identifier - identifier) )) - number_literal)) ;) (if_statement "if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }" if (parenthesized_expression "(uVar33 < 8)" ( (binary_expression "uVar33 < 8" identifier < number_literal) )) (compound_statement "{\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }" { (expression_statement "uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33)" identifier = (call_expression "(*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_28,uVar38 - local_28,uVar33,uVar33)" ( identifier , (binary_expression "uVar38 - local_28" identifier - identifier) , identifier , identifier )))) ;) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" identifier (argument_list "("%08x ",uVar15)" ( (string_literal ""%08x "" " string_content ") , identifier ))) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (if_statement "if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;" if (parenthesized_expression "(uVar38 <= uVar37 + 9)" ( (binary_expression "uVar38 <= uVar37 + 9" identifier <= (binary_expression "uVar37 + 9" identifier + number_literal)) )) (goto_statement "goto code_r0x00064ae3;" goto statement_identifier ;)) (goto_statement "goto code_r0x00064ad0;" goto statement_identifier ;) })) })) (expression_statement "printf("%08x ",0);" (call_expression "printf("%08x ",0)" identifier (argument_list "("%08x ",0)" ( (string_literal ""%08x "" " string_content ") , number_literal ))) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (if_statement "if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }" if (parenthesized_expression "(uVar37 + 9 < uVar38)" ( (binary_expression "uVar37 + 9 < uVar38" (binary_expression "uVar37 + 9" identifier + number_literal) < identifier) )) (compound_statement "{\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }" { (labeled_statement "code_r0x00064ad0:\n                        iVar28 = 4;" statement_identifier : (expression_statement "iVar28 = 4;" (assignment_expression "iVar28 = 4" identifier = number_literal) ;)) (goto_statement "goto code_r0x00064ad5;" goto statement_identifier ;) })) }))) (labeled_statement "code_r0x00064ae3:\n                    uVar37 = uVar37 + 9;" statement_identifier : (expression_statement "uVar37 = uVar37 + 9;" (assignment_expression "uVar37 = uVar37 + 9" identifier = (binary_expression "uVar37 + 9" identifier + number_literal)) ;)) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" identifier (argument_list "("%08x ",uVar15)" ( (string_literal ""%08x "" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    goto LAB_00064cd8;" default : (goto_statement "goto LAB_00064cd8;" goto statement_identifier ;)) })) (expression_statement "local_28 = uVar37 + 2;" (assignment_expression "local_28 = uVar37 + 2" identifier = (binary_expression "uVar37 + 2" identifier + number_literal)) ;) (if_statement "if (uVar38 < local_28) goto LAB_00064ec7;" if (parenthesized_expression "(uVar38 < local_28)" ( (binary_expression "uVar38 < local_28" identifier < identifier) )) (goto_statement "goto LAB_00064ec7;" goto statement_identifier ;)) (if_statement "if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }" if (parenthesized_expression "((local_28 == uVar38) && (uVar38 <= uVar37))" ( (binary_expression "(local_28 == uVar38) && (uVar38 <= uVar37)" (parenthesized_expression "(local_28 == uVar38)" ( (binary_expression "local_28 == uVar38" identifier == identifier) )) && (parenthesized_expression "(uVar38 <= uVar37)" ( (binary_expression "uVar38 <= uVar37" identifier <= identifier) ))) )) (compound_statement "{\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar37 = uVar38;" (assignment_expression "uVar37 = uVar38" identifier = identifier) ;) }) (else_clause "else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }" else (compound_statement "{\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }" { (expression_statement "uVar10 = (*DAT_000b9dd8)(uVar37,2);" (assignment_expression "uVar10 = (*DAT_000b9dd8)(uVar37,2)" identifier = (call_expression "(*DAT_000b9dd8)(uVar37,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar37,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar37 = local_28 + uVar10;" (assignment_expression "uVar37 = local_28 + uVar10" identifier = (binary_expression "local_28 + uVar10" identifier + identifier)) ;) (if_statement "if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }" if (parenthesized_expression "(uVar38 < uVar37)" ( (binary_expression "uVar38 < uVar37" identifier < identifier) )) (compound_statement "{\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }" { (expression_statement "uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5)" identifier = (call_expression "dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5)" identifier (argument_list "(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (goto_statement "goto code_r0x00064ee9;" goto statement_identifier ;) })) }))) (expression_statement "putc(0x28,*(FILE **)puVar7);" (call_expression "putc(0x28,*(FILE **)puVar7)" identifier (argument_list "(0x28,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);" (assignment_expression "iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1)" identifier = (call_expression "FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1)" identifier (argument_list "(iVar24,uVar10,0,iVar16,0,param_1)" ( identifier , identifier , number_literal , identifier , number_literal , identifier )))) ;) (expression_statement "putc(0x29,*(FILE **)puVar7);" (call_expression "putc(0x29,*(FILE **)puVar7)" identifier (argument_list "(0x29,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" if (parenthesized_expression "((iVar28 != 0) && (iVar34 == 0))" ( (binary_expression "(iVar28 != 0) && (iVar34 == 0)" (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar34 == 0)" ( (binary_expression "iVar34 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" { (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" identifier = (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" identifier (argument_list "(0," [without DW_AT_frame_base]",5)" ( number_literal , (string_literal "" [without DW_AT_frame_base]"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" identifier (argument_list "(10,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier = (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,iVar16,local_8c);" (call_expression "warn(uVar15,iVar16,local_8c)" identifier (argument_list "(uVar15,iVar16,local_8c)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" else (compound_statement "{\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" { (expression_statement "pcVar14 = "No debug information for loc lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information for loc lists of entry: %u\n"" identifier = (string_literal ""No debug information for loc lists of entry: %u\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);" statement_identifier : (expression_statement "uVar15 = dcgettext(0,pcVar14,5);" (assignment_expression "uVar15 = dcgettext(0,pcVar14,5)" identifier = (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "warn(uVar15,local_8c);" (call_expression "warn(uVar15,local_8c)" identifier (argument_list "(uVar15,local_8c)" ( identifier , identifier ))) ;) }))))) }) (else_clause "else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" else (if_statement "if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" if (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) (compound_statement "{\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }" { (if_statement "if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }" if (parenthesized_expression "(DAT_000b9d6c <= local_8c)" ( (binary_expression "DAT_000b9d6c <= local_8c" identifier <= identifier) )) (compound_statement "{\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }" { (expression_statement "pcVar14 = "No debug information available for loclists lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information available for loclists lists of entry: %u\n"" identifier = (string_literal ""No debug information available for loclists lists of entry: %u\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00064bdb;" goto statement_identifier ;) })) (expression_statement "piVar17 = (int *)(iVar31 + DAT_000b9d64);" (assignment_expression "piVar17 = (int *)(iVar31 + DAT_000b9d64)" identifier = (cast_expression "(int *)(iVar31 + DAT_000b9d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + DAT_000b9d64)" ( (binary_expression "iVar31 + DAT_000b9d64" identifier + identifier) )))) ;) (expression_statement "iVar16 = *piVar17;" (assignment_expression "iVar16 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (if_statement "if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" if (parenthesized_expression "(iVar16 - 2U < 7)" ( (binary_expression "iVar16 - 2U < 7" (binary_expression "iVar16 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }" { (expression_statement "uVar45 = 0xffffffffffffffff;" (assignment_expression "uVar45 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "iVar24 = piVar17[3];" (assignment_expression "iVar24 = piVar17[3]" identifier = (subscript_expression "piVar17[3]" identifier [ number_literal ])) ;) (expression_statement "uVar44 = 0xffffffffffffffff;" (assignment_expression "uVar44 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);" (assignment_expression "uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c)" identifier = (binary_expression "*(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c)" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar28 = piVar17[2];" (assignment_expression "iVar28 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "local_f4 = local_ec;" (assignment_expression "local_f4 = local_ec" identifier = identifier) ;) (expression_statement "uVar38 = local_10c;" (assignment_expression "uVar38 = local_10c" identifier = identifier) ;) (while_statement "while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }" while (parenthesized_expression "(uVar36 = local_28 + 1, uVar36 <= uVar37)" ( (comma_expression "uVar36 = local_28 + 1, uVar36 <= uVar37" (assignment_expression "uVar36 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) , (binary_expression "uVar36 <= uVar37" identifier <= identifier)) )) (compound_statement "{\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }" { (expression_statement "printf("    %8.8lx ",uVar38);" (call_expression "printf("    %8.8lx ",uVar38)" identifier (argument_list "("    %8.8lx ",uVar38)" ( (string_literal ""    %8.8lx "" " string_content ") , identifier ))) ;) (if_statement "if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }" if (parenthesized_expression "((uVar37 == uVar36) && (uVar37 <= local_28))" ( (binary_expression "(uVar37 == uVar36) && (uVar37 <= local_28)" (parenthesized_expression "(uVar37 == uVar36)" ( (binary_expression "uVar37 == uVar36" identifier == identifier) )) && (parenthesized_expression "(uVar37 <= local_28)" ( (binary_expression "uVar37 <= local_28" identifier <= identifier) ))) )) (compound_statement "{\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }" { (labeled_statement "LAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" statement_identifier : (expression_statement "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<End of list>\n",5)" identifier (argument_list "(0,"<End of list>\n",5)" ( number_literal , (string_literal ""<End of list>\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "local_28 = uVar36;" (assignment_expression "local_28 = uVar36" identifier = identifier) ;) (goto_statement "goto LAB_000639ec;" goto statement_identifier ;) })) (expression_statement "uVar38 = (*DAT_000b9dd8)(local_28,1);" (assignment_expression "uVar38 = (*DAT_000b9dd8)(local_28,1)" identifier = (call_expression "(*DAT_000b9dd8)(local_28,1)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_28,1)" ( identifier , number_literal )))) ;) (if_statement "if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }" if (parenthesized_expression "((local_f4 == 0) || (uVar38 != 4))" ( (binary_expression "(local_f4 == 0) || (uVar38 != 4)" (parenthesized_expression "(local_f4 == 0)" ( (binary_expression "local_f4 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar38 != 4)" ( (binary_expression "uVar38 != 4" identifier != number_literal) ))) )) (compound_statement "{\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }" { (if_statement "if (uVar38 == 4) goto LAB_00063b0b;" if (parenthesized_expression "(uVar38 == 4)" ( (binary_expression "uVar38 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00063b0b;" goto statement_identifier ;)) (if_statement "if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }" if (parenthesized_expression "(uVar38 < 5)" ( (binary_expression "uVar38 < 5" identifier < number_literal) )) (compound_statement "{\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }" { (if_statement "if (uVar38 == 0) goto LAB_000639ce;" if (parenthesized_expression "(uVar38 == 0)" ( (binary_expression "uVar38 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000639ce;" goto statement_identifier ;)) (labeled_statement "LAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);" statement_identifier : (expression_statement "uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5)" identifier = (call_expression "dcgettext(0,"Invalid location list entry type %d\n",5)" identifier (argument_list "(0,"Invalid location list entry type %d\n",5)" ( number_literal , (string_literal ""Invalid location list entry type %d\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "error(uVar15,uVar38);" (call_expression "error(uVar15,uVar38)" identifier (argument_list "(uVar15,uVar38)" ( identifier , identifier ))) ;) (expression_statement "local_28 = uVar39;" (assignment_expression "local_28 = uVar39" identifier = identifier) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (if_statement "if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }" if (parenthesized_expression "(uVar38 == 6)" ( (binary_expression "uVar38 == 6" identifier == number_literal) )) (compound_statement "{\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }" { (expression_statement "local_28 = uVar36 + iVar16;" (assignment_expression "local_28 = uVar36 + iVar16" identifier = (binary_expression "uVar36 + iVar16" identifier + identifier)) ;) (expression_statement "iVar18 = iVar16;" (assignment_expression "iVar18 = iVar16" identifier = identifier) ;) (if_statement "if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }" if (parenthesized_expression "((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))" ( (binary_expression "(local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)))" (parenthesized_expression "(local_28 < uVar37)" ( (binary_expression "local_28 < uVar37" identifier < identifier) )) || (parenthesized_expression "((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)))" ( (parenthesized_expression "(uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))" ( (binary_expression "uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)" (binary_expression "uVar36 < uVar37" identifier < identifier) && (parenthesized_expression "(iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)" ( (comma_expression "iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8" (assignment_expression "iVar18 = uVar37 - uVar36" identifier = (binary_expression "uVar37 - uVar36" identifier - identifier)) , (binary_expression "(uVar37 - uVar36) - 1 < 8" (binary_expression "(uVar37 - uVar36) - 1" (parenthesized_expression "(uVar37 - uVar36)" ( (binary_expression "uVar37 - uVar36" identifier - identifier) )) - number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }" { (expression_statement "(*DAT_000b9dd8)(uVar36,iVar18);" (call_expression "(*DAT_000b9dd8)(uVar36,iVar18)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar36,iVar18)" ( identifier , identifier ))) ;) })) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = "(base address)\n";" (assignment_expression "pcVar14 = "(base address)\n"" identifier = (string_literal ""(base address)\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }" else (compound_statement "{\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }" { (if_statement "if (uVar38 != 9) goto LAB_00063e0a;" if (parenthesized_expression "(uVar38 != 9)" ( (binary_expression "uVar38 != 9" identifier != number_literal) )) (goto_statement "goto LAB_00063e0a;" goto statement_identifier ;)) (if_statement "if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }" if (parenthesized_expression "(local_f4 != 0)" ( (binary_expression "local_f4 != 0" identifier != number_literal) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" identifier (argument_list "(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" ( number_literal , (string_literal ""View pair entry in loclist with locviews attribute\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);" (assignment_expression "uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(uVar36,local_20,0,uVar37)" identifier (argument_list "(uVar36,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar18 = uVar36 + local_20[0];" (assignment_expression "iVar18 = uVar36 + local_20[0]" identifier = (binary_expression "uVar36 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);" (assignment_expression "uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(iVar18,local_20,0,uVar37)" identifier (argument_list "(iVar18,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_28 = iVar18 + local_20[0];" (assignment_expression "local_28 = iVar18 + local_20[0]" identifier = (binary_expression "iVar18 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = "views for:\n";" (assignment_expression "pcVar14 = "views for:\n"" identifier = (string_literal ""views for:\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "pcVar14 = (char *)dcgettext(0,pcVar14,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,pcVar14,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar14,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }) (else_clause "else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }" else (compound_statement "{\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }" { (expression_statement "iVar18 = local_f4 - uVar39;" (assignment_expression "iVar18 = local_f4 - uVar39" identifier = (binary_expression "local_f4 - uVar39" identifier - identifier)) ;) (expression_statement "uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);" (assignment_expression "uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(local_f4,local_20,0,uVar37)" identifier (argument_list "(local_f4,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar32 = local_f4 + local_20[0];" (assignment_expression "iVar32 = local_f4 + local_20[0]" identifier = (binary_expression "local_f4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);" (assignment_expression "uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(iVar32,local_20,0,uVar37)" identifier (argument_list "(iVar32,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_f4 = iVar32 + local_20[0];" (assignment_expression "local_f4 = iVar32 + local_20[0]" identifier = (binary_expression "iVar32 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier = (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" ( number_literal , (string_literal ""views at %8.8lx for:\n    %*s "" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" identifier (argument_list "(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" ( identifier , (binary_expression "iVar18 + local_10c" identifier + identifier) , number_literal , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (labeled_statement "LAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);" statement_identifier : (expression_statement "local_b0 = (uint)(uVar45 >> 0x20);" (assignment_expression "local_b0 = (uint)(uVar45 >> 0x20)" identifier = (call_expression "(uint)(uVar45 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar45 >> 0x20)" ( (binary_expression "uVar45 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "local_bc = (uint)uVar45;" (assignment_expression "local_bc = (uint)uVar45" identifier = (cast_expression "(uint)uVar45" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_c8 = (uint)(uVar44 >> 0x20);" (assignment_expression "local_c8 = (uint)(uVar44 >> 0x20)" identifier = (call_expression "(uint)(uVar44 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar44 >> 0x20)" ( (binary_expression "uVar44 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_dc = (int *)uVar44;" (assignment_expression "local_dc = (int *)uVar44" identifier = (cast_expression "(int *)uVar44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);" (assignment_expression "lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(uVar36,local_20,0,uVar37)" identifier (argument_list "(uVar36,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar38 = (uint)((ulonglong)lVar43 >> 0x20);" (assignment_expression "uVar38 = (uint)((ulonglong)lVar43 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar43 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar43 >> 0x20)" ( (binary_expression "(ulonglong)lVar43 >> 0x20" (cast_expression "(ulonglong)lVar43" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "iVar18 = uVar36 + local_20[0];" (assignment_expression "iVar18 = uVar36 + local_20[0]" identifier = (binary_expression "uVar36 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);" (assignment_expression "lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(iVar18,local_20,0,uVar37)" identifier (argument_list "(iVar18,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar36 = (uint)((ulonglong)lVar46 >> 0x20);" (assignment_expression "uVar36 = (uint)((ulonglong)lVar46 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar46 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar46 >> 0x20)" ( (binary_expression "(ulonglong)lVar46 >> 0x20" (cast_expression "(ulonglong)lVar46" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_28 = iVar18 + local_20[0];" (assignment_expression "local_28 = iVar18 + local_20[0]" identifier = (binary_expression "iVar18 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (if_statement "if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }" if (parenthesized_expression "(uVar37 < local_28 + 2)" ( (binary_expression "uVar37 < local_28 + 2" identifier < (binary_expression "local_28 + 2" identifier + number_literal)) )) (compound_statement "{\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }" { (expression_statement "uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5)" identifier = (call_expression "dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5)" identifier (argument_list "(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_000639ec;" goto statement_identifier ;) })) (expression_statement "uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);" (assignment_expression "uVar47 = FUN_0004f990(local_28,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(local_28,local_20,0,uVar37)" identifier (argument_list "(local_28,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar32 = local_28 + local_20[0];" (assignment_expression "iVar32 = local_28 + local_20[0]" identifier = (binary_expression "local_28 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "putc(0x28,*(FILE **)puVar7);" (call_expression "putc(0x28,*(FILE **)puVar7)" identifier (argument_list "(0x28,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);" (assignment_expression "iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1)" identifier = (call_expression "FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1)" identifier (argument_list "(iVar28,uVar47,iVar24,0,param_1)" ( identifier , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "putc(0x29,*(FILE **)puVar7);" (call_expression "putc(0x29,*(FILE **)puVar7)" identifier (argument_list "(0x29,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" if (parenthesized_expression "((iVar18 != 0) && (iVar34 == 0))" ( (binary_expression "(iVar18 != 0) && (iVar34 == 0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar34 == 0)" ( (binary_expression "iVar34 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" { (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" identifier = (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" identifier (argument_list "(0," [without DW_AT_frame_base]",5)" ( number_literal , (string_literal "" [without DW_AT_frame_base]"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" if (parenthesized_expression "((uVar44 == uVar45) && (lVar43 == lVar46))" ( (binary_expression "(uVar44 == uVar45) && (lVar43 == lVar46)" (parenthesized_expression "(uVar44 == uVar45)" ( (binary_expression "uVar44 == uVar45" identifier == identifier) )) && (parenthesized_expression "(lVar43 == lVar46)" ( (binary_expression "lVar43 == lVar46" identifier == identifier) ))) )) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start == end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start == end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start == end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start == end)",5)" identifier (argument_list "(0," (start == end)",5)" ( number_literal , (string_literal "" (start == end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" identifier (argument_list "(pcVar14,pFVar35)" ( identifier , identifier ))) ;) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" else (if_statement "if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" if (parenthesized_expression "((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46))))" ( (binary_expression "(uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))" (parenthesized_expression "(uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           )" ( (binary_expression "uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)" (binary_expression "uVar36 < uVar38" identifier < identifier) || (binary_expression "uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)" (binary_expression "uVar36 - uVar38" identifier - identifier) < (call_expression "(uint)((uint)lVar46 < (uint)lVar43)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar46 < (uint)lVar43)" ( (binary_expression "(uint)lVar46 < (uint)lVar43" (cast_expression "(uint)lVar46" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)lVar43" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) || (parenthesized_expression "((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))" ( (parenthesized_expression "(local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46))" ( (binary_expression "local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)" (binary_expression "local_b0 < local_c8" identifier < identifier) || (binary_expression "local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)" (binary_expression "local_b0 - local_c8 < (uint)(local_bc < local_dc)" (binary_expression "local_b0 - local_c8" identifier - identifier) < (call_expression "(uint)(local_bc < local_dc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc < local_dc)" ( (binary_expression "local_bc < local_dc" identifier < identifier) )))) && (parenthesized_expression "(lVar43 == lVar46)" ( (binary_expression "lVar43 == lVar46" identifier == identifier) )))) )) ))) )) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start > end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start > end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start > end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start > end)",5)" identifier (argument_list "(0," (start > end)",5)" ( number_literal , (string_literal "" (start > end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" identifier (argument_list "(pcVar14,pFVar35)" ( identifier , identifier ))) ;) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })))) (expression_statement "putc(10,pFVar35);" (call_expression "putc(10,pFVar35)" identifier (argument_list "(10,pFVar35)" ( number_literal , identifier ))) ;) (expression_statement "local_28 = (int)uVar47 + iVar32;" (assignment_expression "local_28 = (int)uVar47 + iVar32" identifier = (binary_expression "(int)uVar47 + iVar32" (cast_expression "(int)uVar47" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "uVar45 = 0xffffffffffffffff;" (assignment_expression "uVar45 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "uVar44 = 0xffffffffffffffff;" (assignment_expression "uVar44 = 0xffffffffffffffff" identifier = number_literal) ;) }))) (expression_statement "uVar38 = (local_28 - uVar39) + local_10c;" (assignment_expression "uVar38 = (local_28 - uVar39) + local_10c" identifier = (binary_expression "(local_28 - uVar39) + local_10c" (parenthesized_expression "(local_28 - uVar39)" ( (binary_expression "local_28 - uVar39" identifier - identifier) )) + identifier)) ;) })) (expression_statement "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" identifier = (call_expression "dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" identifier (argument_list "(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (labeled_statement "LAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }" statement_identifier : (if_statement "if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }" if (parenthesized_expression "((uVar44 & uVar45) != 0xffffffffffffffff)" ( (binary_expression "(uVar44 & uVar45) != 0xffffffffffffffff" (parenthesized_expression "(uVar44 & uVar45)" ( (binary_expression "uVar44 & uVar45" identifier & identifier) )) != number_literal) )) (compound_statement "{\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }" { (expression_statement "pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5)" identifier = (cast_expression "(char *)dcgettext(0,"Trailing view pair not used in a range",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Trailing view pair not used in a range",5)" identifier (argument_list "(0,"Trailing view pair not used in a range",5)" ( number_literal , (string_literal ""Trailing view pair not used in a range"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }))) (expression_statement "local_24 = local_f4;" (assignment_expression "local_24 = local_f4" identifier = identifier) ;) }) (else_clause "else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" else (compound_statement "{\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" { (expression_statement "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier = (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,iVar16,local_8c);" (call_expression "warn(uVar15,iVar16,local_8c)" identifier (argument_list "(uVar15,iVar16,local_8c)" ( identifier , identifier , identifier ))) ;) }))) }) (else_clause "else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" else (compound_statement "{\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" { (expression_statement "uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"DWO is not yet supported.\n",5)" identifier = (call_expression "dcgettext(0,"DWO is not yet supported.\n",5)" identifier (argument_list "(0,"DWO is not yet supported.\n",5)" ( number_literal , (string_literal ""DWO is not yet supported.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15);" (call_expression "warn(uVar15)" identifier (argument_list "(uVar15)" ( identifier ))) ;) }))))) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (if_statement "if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }" if (parenthesized_expression "(local_f0 == 0)" ( (binary_expression "local_f0 == 0" identifier == number_literal) )) (compound_statement "{\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }" { (expression_statement "local_108 = puVar3[1];" (assignment_expression "local_108 = puVar3[1]" identifier = (subscript_expression "puVar3[1]" identifier [ number_literal ])) ;) (expression_statement "local_10c = *puVar3;" (assignment_expression "local_10c = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "uVar38 = *puVar20;" (assignment_expression "uVar38 = *puVar20" identifier = (pointer_expression "*puVar20" * identifier)) ;) (expression_statement "local_f4 = puVar20[1];" (assignment_expression "local_f4 = puVar20[1]" identifier = (subscript_expression "puVar20[1]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000635f2;" goto statement_identifier ;) })) (expression_statement "local_ec = local_f0;" (assignment_expression "local_ec = local_f0" identifier = identifier) ;) (expression_statement "local_10c = puVar3[local_f0 * 2];" (assignment_expression "local_10c = puVar3[local_f0 * 2]" identifier = (subscript_expression "puVar3[local_f0 * 2]" identifier [ (binary_expression "local_f0 * 2" identifier * number_literal) ])) ;) (expression_statement "local_e8 = local_f0 * 8 + -8;" (assignment_expression "local_e8 = local_f0 * 8 + -8" identifier = (binary_expression "local_f0 * 8 + -8" (binary_expression "local_f0 * 8" identifier * number_literal) + number_literal)) ;) (expression_statement "local_108 = puVar3[local_f0 * 2 + 1];" (assignment_expression "local_108 = puVar3[local_f0 * 2 + 1]" identifier = (subscript_expression "puVar3[local_f0 * 2 + 1]" identifier [ (binary_expression "local_f0 * 2 + 1" (binary_expression "local_f0 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "local_f4 = puVar20[local_f0 * 2 + 1];" (assignment_expression "local_f4 = puVar20[local_f0 * 2 + 1]" identifier = (subscript_expression "puVar20[local_f0 * 2 + 1]" identifier [ (binary_expression "local_f0 * 2 + 1" (binary_expression "local_f0 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "uVar38 = puVar20[local_f0 * 2];" (assignment_expression "uVar38 = puVar20[local_f0 * 2]" identifier = (subscript_expression "puVar20[local_f0 * 2]" identifier [ (binary_expression "local_f0 * 2" identifier * number_literal) ])) ;) (labeled_statement "LAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }" statement_identifier : (if_statement "if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }" if (parenthesized_expression "((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8)))" ( (binary_expression "(local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))" (parenthesized_expression "(local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4))" ( (binary_expression "local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)" (binary_expression "local_10c != *(uint *)((int)puVar3 + local_e8)" identifier != (pointer_expression "*(uint *)((int)puVar3 + local_e8)" * (cast_expression "(uint *)((int)puVar3 + local_e8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + local_e8)" ( (binary_expression "(int)puVar3 + local_e8" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) || (binary_expression "local_108 != *(uint *)((int)puVar3 + local_e8 + 4)" identifier != (pointer_expression "*(uint *)((int)puVar3 + local_e8 + 4)" * (cast_expression "(uint *)((int)puVar3 + local_e8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + local_e8 + 4)" ( (binary_expression "(int)puVar3 + local_e8 + 4" (binary_expression "(int)puVar3 + local_e8" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))))) )) || (parenthesized_expression "(local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))" ( (binary_expression "local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8)" (binary_expression "local_f4 != *(uint *)((int)puVar20 + local_e8 + 4)" identifier != (pointer_expression "*(uint *)((int)puVar20 + local_e8 + 4)" * (cast_expression "(uint *)((int)puVar20 + local_e8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + local_e8 + 4)" ( (binary_expression "(int)puVar20 + local_e8 + 4" (binary_expression "(int)puVar20 + local_e8" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) || (binary_expression "uVar38 != *(uint *)((int)puVar20 + local_e8)" identifier != (pointer_expression "*(uint *)((int)puVar20 + local_e8)" * (cast_expression "(uint *)((int)puVar20 + local_e8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + local_e8)" ( (binary_expression "(int)puVar20 + local_e8" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))))) ))) )) (compound_statement "{\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }" { (expression_statement "iVar16 = local_ec << 2;" (assignment_expression "iVar16 = local_ec << 2" identifier = (binary_expression "local_ec << 2" identifier << number_literal)) ;) (goto_statement "goto LAB_000635f2;" goto statement_identifier ;) }))) (goto_statement "goto LAB_0006373a;" goto statement_identifier ;) })) (labeled_statement "LAB_00063fc0:\n      local_8c = local_8c + 1;" statement_identifier : (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" identifier = (binary_expression "local_8c + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_8c < DAT_000b9d6c)" ( (binary_expression "local_8c < DAT_000b9d6c" identifier < identifier) )) ;) })) (expression_statement "uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);" (assignment_expression "uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" identifier = (binary_expression "*(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" (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) )))) + (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }" if (parenthesized_expression "(local_28 < uVar19)" ( (binary_expression "local_28 < uVar19" identifier < identifier) )) (compound_statement "{\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }" { (expression_statement "iVar31 = uVar19 - local_28;" (assignment_expression "iVar31 = uVar19 - local_28" identifier = (binary_expression "uVar19 - local_28" identifier - identifier)) ;) (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);" (assignment_expression "uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5)" identifier = (call_expression "dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5)" identifier (argument_list "(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5)" ( number_literal , (string_literal ""There is %ld unused byte at the end of section %s\n"" " string_content escape_sequence ") , (string_literal ""There are %ld unused bytes at the end of section %s\n"" " string_content escape_sequence ") , identifier , number_literal )))) ;) (expression_statement "warn(uVar13,iVar31,uVar15);" (call_expression "warn(uVar13,iVar31,uVar15)" identifier (argument_list "(uVar13,iVar31,uVar15)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" identifier (argument_list "(10,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "free(local_5c);" (call_expression "free(local_5c)" identifier (argument_list "(local_5c)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) (labeled_statement "LAB_00064ec7:\n  local_28 = uVar37;" statement_identifier : (expression_statement "local_28 = uVar37;" (assignment_expression "local_28 = uVar37" identifier = identifier) ;)) (expression_statement "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" identifier = (call_expression "dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" identifier (argument_list "(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (labeled_statement "code_r0x00064ee9:\n  local_24 = local_104;" statement_identifier : (expression_statement "local_24 = local_104;" (assignment_expression "local_24 = local_104" identifier = identifier) ;)) (labeled_statement "LAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" statement_identifier : (if_statement "if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" if (parenthesized_expression "((bVar5) && (bVar6))" ( (binary_expression "(bVar5) && (bVar6)" (parenthesized_expression "(bVar5)" ( identifier )) && (parenthesized_expression "(bVar6)" ( identifier ))) )) (compound_statement "{\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" { (if_statement "if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }" if (parenthesized_expression "(local_28 == local_ec)" ( (binary_expression "local_28 == local_ec" identifier == identifier) )) (compound_statement "{\n      bVar5 = true;\n    }" { (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) }) (else_clause "else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }" else (compound_statement "{\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }" { (if_statement "if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }" if (parenthesized_expression "(uVar39 == local_24)" ( (binary_expression "uVar39 == local_24" identifier == identifier) )) (compound_statement "{\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }" { (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) (goto_statement "goto LAB_0006373a;" goto statement_identifier ;) })) (expression_statement "uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);" (assignment_expression "uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5)" identifier = (call_expression "dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5)" identifier (argument_list "(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5)" ( number_literal , (string_literal ""Hole and overlap detection requires adjacent view lists and loclists.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15);" (call_expression "warn(uVar15)" identifier (argument_list "(uVar15)" ( identifier ))) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (labeled_statement "LAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;" statement_identifier : (if_statement "if (local_28 != local_ec) goto LAB_00063844;" if (parenthesized_expression "(local_28 != local_ec)" ( (binary_expression "local_28 != local_ec" identifier != identifier) )) (goto_statement "goto LAB_00063844;" goto statement_identifier ;))) }))) (expression_statement "FUN_000520e0(local_24);" (call_expression "FUN_000520e0(local_24)" identifier (argument_list "(local_24)" ( identifier ))) ;) (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) }) (else_clause "else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" else (compound_statement "{\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" { (if_statement "if (local_ec != 0) goto LAB_00063833;" if (parenthesized_expression "(local_ec != 0)" ( (binary_expression "local_ec != 0" identifier != number_literal) )) (goto_statement "goto LAB_00063833;" goto statement_identifier ;)) (labeled_statement "LAB_00063844:\n    local_fc = DAT_000b9d64;" statement_identifier : (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;)) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) })))) (labeled_statement "LAB_0006373a:\n  iVar34 = local_fc + iVar31;" statement_identifier : (expression_statement "iVar34 = local_fc + iVar31;" (assignment_expression "iVar34 = local_fc + iVar31" identifier = (binary_expression "local_fc + iVar31" identifier + identifier)) ;)) (expression_statement "local_f0 = local_f0 + 1;" (assignment_expression "local_f0 = local_f0 + 1" identifier = (binary_expression "local_f0 + 1" identifier + number_literal)) ;) (if_statement "if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;" if (parenthesized_expression "(*(uint *)(iVar34 + 0x38) <= local_f0)" ( (binary_expression "*(uint *)(iVar34 + 0x38) <= local_f0" (pointer_expression "*(uint *)(iVar34 + 0x38)" * (cast_expression "(uint *)(iVar34 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x38)" ( (binary_expression "iVar34 + 0x38" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00063fc0;" goto statement_identifier ;)) (goto_statement "goto LAB_00063757;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint display_debug_loc(dwarf_section *section,void *file)\n\n{\n  uchar *puVar1;\n  uchar *puVar2;\n  dwarf_vma *pdVar3;\n  dwarf_vma *pdVar4;\n  int iVar5;\n  bool bVar6;\n  dwarf_vma dVar7;\n  undefined *puVar8;\n  bool bVar9;\n  byte *pbVar10;\n  char *pcVar11;\n  uchar *puVar12;\n  uchar *puVar13;\n  char *pcVar14;\n  dwarf_vma **ppdVar15;\n  uint uVar16;\n  bfd_boolean bVar17;\n  char *pcVar18;\n  debug_info *pdVar19;\n  int iVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uchar *puVar24;\n  uchar *puVar25;\n  uchar *puVar26;\n  uchar *puVar27;\n  undefined4 uVar28;\n  char *pcVar29;\n  byte bVar30;\n  int iVar31;\n  dwarf_section *section_1;\n  dwarf_section *extraout_ECX;\n  debug_info *pdVar32;\n  FILE *pFVar33;\n  uchar *puVar34;\n  uint uVar35;\n  uchar *puVar36;\n  uchar *puVar37;\n  byte *pbVar38;\n  uchar *puVar39;\n  uint uVar40;\n  bool bVar41;\n  bool bVar42;\n  byte bVar43;\n  elf_vma eVar44;\n  ulonglong uVar45;\n  ulonglong uVar46;\n  dwarf_vma dVar47;\n  dwarf_vma dVar48;\n  dwarf_vma length;\n  uint *puVar49;\n  uchar *puVar50;\n  _func_elf_vma_uchar_ptr_int **in_stack_fffffef4;\n  undefined8 local_104;\n  uint local_fc;\n  uint local_f8;\n  uchar *local_f4;\n  uchar *local_f0;\n  uchar *local_ec;\n  int local_e8;\n  dwarf_vma local_e4;\n  undefined8 local_dc;\n  uchar *local_d4;\n  uint local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  undefined8 local_ac;\n  uint local_a4;\n  uint local_94;\n  uchar *local_8c;\n  int local_7c;\n  dwarf_section *local_74;\n  uint local_68;\n  void *local_5c;\n  uint local_34;\n  uchar *start;\n  uchar *vstart;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  bVar43 = 0;\n  uStack_14 = 0x63029;\n  vstart = (uchar *)0x0;\n  puVar1 = section->start;\n  pcVar11 = section->name;\n  start = puVar1;\n  pbVar10 = (byte *)strrchr(pcVar11,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar10 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar38 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar10 < *pbVar38;\n      bVar42 = *pbVar10 == *pbVar38;\n      pbVar10 = pbVar10 + (uint)bVar43 * -2 + 1;\n      pbVar38 = pbVar38 + (uint)bVar43 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  puVar2 = *(uchar **)&section->size;\n  if (puVar2 == (uchar *)0x0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar11);\n    return 0;\n  }\n  pcVar14 = "debug_loclists";\n  pcVar11 = strstr(pcVar11,"debug_loclists");\n  if (pcVar11 != (char *)0x0) {\n    puVar50 = puVar1 + 4;\n    puVar34 = puVar1 + (int)puVar2;\n    local_d4 = puVar50;\n    if (puVar50 < puVar34) {\n      puVar12 = (uchar *)0x4;\nLAB_000630f8:\n      in_stack_fffffef4 = &byte_get;\n      eVar44 = (*byte_get)(puVar1,(int)puVar12);\n      if (eVar44 == 0xffffffff) {\n        local_d4 = puVar1 + 0xc;\n        if (local_d4 < puVar34) {\n          puVar12 = (uchar *)0x8;\n        }\n        else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }\n        (**in_stack_fffffef4)(puVar50,(int)puVar12);\n      }\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        puVar12 = (uchar *)0x2;\n      }\n      else if ((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;\nLAB_0006315d:\n      eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12);\n      if ((ushort)eVar44 == 5) {\n        puVar36 = local_d4 + 3;\n        if (puVar36 < puVar34) {\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }\n        else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = local_d4 + (8 - (int)puVar1);\n        local_d0 = (int)local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar35 = (uint)(ushort)eVar44;\n    }\n    else {\n      if ((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)) goto LAB_000630f8;\nLAB_00063148:\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        in_stack_fffffef4 = &byte_get;\n        puVar12 = (uchar *)0x2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar35 = 0;\n    }\n    pcVar14 = section->name;\n    pcVar11 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);\n    warn(pcVar11,pcVar14,uVar35);\n    return 0;\n  }\n  local_d4 = (uchar *)0x0;\n  local_d0 = 0;\nLAB_0006322d:\n  uVar35 = load_debug_info(in_stack_fffffef4);\n  if (uVar35 == 0) {\n    pcVar11 = section->name;\n    uVar35 = 5;\n    pcVar14 = (char *)dcgettext(0,\n                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                                ,5);\nLAB_0006500d:\n    warn(pcVar14,pcVar11,uVar35);\n    return 0;\n  }\n  if (num_debug_info_entries == 0) {\n    local_dc._0_4_ = 0;\n    local_8c = (uchar *)0x0;\n    local_74 = (dwarf_section *)0x1;\n    local_cc = 0;\n  }\n  else {\n    bVar41 = false;\n    local_f0 = (uchar *)0x0;\n    local_8c = (uchar *)0x0;\n    ppdVar15 = &debug_information->loc_offsets;\n    local_74 = (dwarf_section *)0x1;\n    local_f4 = (uchar *)0x0;\n    uVar35 = 0;\n    local_dc._0_4_ = 0;\n    do {\n      uVar40 = (uint)ppdVar15[3];\n      if ((uint)local_dc < uVar40) {\n        local_dc._0_4_ = uVar40;\n      }\n      if ((uVar40 != 0) && (local_74 != (dwarf_section *)0x0)) {\n        if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }\n        uVar16 = (uint)!bVar41;\n        if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      ppdVar15 = ppdVar15 + 0x14;\n    } while ((uchar *)num_debug_info_entries != local_f0);\n    local_cc = (int)local_8c * 0x50;\n    if (bVar41) goto LAB_00063484;\n  }\n  pcVar14 = "No location lists in .debug_info section!\n";\n  pcVar18 = (char *)dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(pcVar18);\nLAB_00063484:\n  if (((*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0) &&\n      (puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50)) &&\n     (puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc),\n     local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49)) {\n    pcVar18 = dwarf_vmatoa_1("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50);\n    pcVar14 = section->name;\n    pcVar29 = (char *)dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(pcVar29,pcVar14,pcVar18);\n  }\n  local_5c = (void *)0x0;\n  section_1 = local_74;\n  if (local_74 == (dwarf_section *)0x0) {\n    local_5c = xcmalloc((uint)local_dc,4);\n    section_1 = extraout_ECX;\n  }\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n  bVar17 = reloc_at(section,0);\n  if (bVar17 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = "    Offset   Begin            End              Expression\n";\n  puVar50 = (uchar *)0x5;\n  pcVar18 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar18);\n  puVar8 = PTR_stdout_000b3fd8;\n  if (local_8c < num_debug_info_entries) {\n    bVar41 = false;\n    pdVar19 = debug_information;\n    do {\n      pdVar32 = pdVar19 + (int)local_8c;\n      puVar34 = (uchar *)pdVar32->num_loc_offsets;\n      if (local_74 == (dwarf_section *)0x0) {\n        if (puVar34 != (uchar *)0x0) {\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }\n        loc_offsets = pdVar32->loc_offsets;\n        loc_views = pdVar32->loc_views;\n        puVar50 = (uchar *)0x4;\n        pcVar14 = (char *)puVar34;\n        qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);\n        pdVar32 = debug_information + (int)local_8c;\n        puVar34 = (uchar *)pdVar32->num_loc_offsets;\n        pdVar19 = debug_information;\n      }\n      bVar42 = true;\n      local_f0 = (uchar *)0x0;\n      if (puVar34 != (uchar *)0x0) {\nLAB_00063757:\n        pdVar3 = pdVar32->loc_views;\n        pdVar4 = pdVar32->loc_offsets;\n        if (local_74 == (dwarf_section *)0x0) {\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == (uchar *)0x0) {\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        pcVar18 = *(char **)(pdVar4 + (int)local_f0);\n        local_e8 = (int)local_f0 * 8 + -8;\n        uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);\n        local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);\n        puVar34 = *(uchar **)(pdVar3 + (int)local_f0);\nLAB_0006389e:\n        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < num_debug_info_entries);\n  }\n  if (start < section->start + (int)section->size) {\n    iVar31 = (int)(section->start + (int)section->size) - (int)start;\n    pcVar11 = section->name;\n    pcVar14 = (char *)dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(pcVar14,iVar31,pcVar11);\n  }\n  putc(10,*(FILE **)puVar8);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  puVar50 = (uchar *)0x5;\n  pcVar14 = (char *)dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n");\n  warn(pcVar14);\n  start = puVar37;\n  vstart = puVar39;\nLAB_000637dc:\n  if ((bVar42) && (bVar6)) {\n    if (start == local_ec) {\n      bVar42 = true;\n    }\n    else {\n      if (puVar36 == vstart) {\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }\n      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";\n      puVar50 = (uchar *)0x5;\n      pcVar14 = (char *)dcgettext(0);\n      warn(pcVar14);\n      bVar42 = false;\nLAB_00063833:\n      if (start != local_ec) goto LAB_00063844;\n    }\n    display_view_pair_list(section,&start,(uint)vstart,(uchar *)pcVar18);\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }\n  else {\n    if (local_ec != (uchar *)0x0) goto LAB_00063833;\nLAB_00063844:\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }\nLAB_0006373a:\n  pdVar32 = pdVar19 + (int)local_8c;\n  local_f0 = (uchar *)((int)local_f0 + 1);\n  if (pdVar32->num_loc_offsets <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}\n\n" comment comment (function_definition "int display_debug_loc(dwarf_section *section,void *file)\n\n{\n  uchar *puVar1;\n  uchar *puVar2;\n  dwarf_vma *pdVar3;\n  dwarf_vma *pdVar4;\n  int iVar5;\n  bool bVar6;\n  dwarf_vma dVar7;\n  undefined *puVar8;\n  bool bVar9;\n  byte *pbVar10;\n  char *pcVar11;\n  uchar *puVar12;\n  uchar *puVar13;\n  char *pcVar14;\n  dwarf_vma **ppdVar15;\n  uint uVar16;\n  bfd_boolean bVar17;\n  char *pcVar18;\n  debug_info *pdVar19;\n  int iVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uchar *puVar24;\n  uchar *puVar25;\n  uchar *puVar26;\n  uchar *puVar27;\n  undefined4 uVar28;\n  char *pcVar29;\n  byte bVar30;\n  int iVar31;\n  dwarf_section *section_1;\n  dwarf_section *extraout_ECX;\n  debug_info *pdVar32;\n  FILE *pFVar33;\n  uchar *puVar34;\n  uint uVar35;\n  uchar *puVar36;\n  uchar *puVar37;\n  byte *pbVar38;\n  uchar *puVar39;\n  uint uVar40;\n  bool bVar41;\n  bool bVar42;\n  byte bVar43;\n  elf_vma eVar44;\n  ulonglong uVar45;\n  ulonglong uVar46;\n  dwarf_vma dVar47;\n  dwarf_vma dVar48;\n  dwarf_vma length;\n  uint *puVar49;\n  uchar *puVar50;\n  _func_elf_vma_uchar_ptr_int **in_stack_fffffef4;\n  undefined8 local_104;\n  uint local_fc;\n  uint local_f8;\n  uchar *local_f4;\n  uchar *local_f0;\n  uchar *local_ec;\n  int local_e8;\n  dwarf_vma local_e4;\n  undefined8 local_dc;\n  uchar *local_d4;\n  uint local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  undefined8 local_ac;\n  uint local_a4;\n  uint local_94;\n  uchar *local_8c;\n  int local_7c;\n  dwarf_section *local_74;\n  uint local_68;\n  void *local_5c;\n  uint local_34;\n  uchar *start;\n  uchar *vstart;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  bVar43 = 0;\n  uStack_14 = 0x63029;\n  vstart = (uchar *)0x0;\n  puVar1 = section->start;\n  pcVar11 = section->name;\n  start = puVar1;\n  pbVar10 = (byte *)strrchr(pcVar11,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar10 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar38 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar10 < *pbVar38;\n      bVar42 = *pbVar10 == *pbVar38;\n      pbVar10 = pbVar10 + (uint)bVar43 * -2 + 1;\n      pbVar38 = pbVar38 + (uint)bVar43 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  puVar2 = *(uchar **)&section->size;\n  if (puVar2 == (uchar *)0x0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar11);\n    return 0;\n  }\n  pcVar14 = "debug_loclists";\n  pcVar11 = strstr(pcVar11,"debug_loclists");\n  if (pcVar11 != (char *)0x0) {\n    puVar50 = puVar1 + 4;\n    puVar34 = puVar1 + (int)puVar2;\n    local_d4 = puVar50;\n    if (puVar50 < puVar34) {\n      puVar12 = (uchar *)0x4;\nLAB_000630f8:\n      in_stack_fffffef4 = &byte_get;\n      eVar44 = (*byte_get)(puVar1,(int)puVar12);\n      if (eVar44 == 0xffffffff) {\n        local_d4 = puVar1 + 0xc;\n        if (local_d4 < puVar34) {\n          puVar12 = (uchar *)0x8;\n        }\n        else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }\n        (**in_stack_fffffef4)(puVar50,(int)puVar12);\n      }\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        puVar12 = (uchar *)0x2;\n      }\n      else if ((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;\nLAB_0006315d:\n      eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12);\n      if ((ushort)eVar44 == 5) {\n        puVar36 = local_d4 + 3;\n        if (puVar36 < puVar34) {\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }\n        else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = local_d4 + (8 - (int)puVar1);\n        local_d0 = (int)local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar35 = (uint)(ushort)eVar44;\n    }\n    else {\n      if ((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)) goto LAB_000630f8;\nLAB_00063148:\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        in_stack_fffffef4 = &byte_get;\n        puVar12 = (uchar *)0x2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar35 = 0;\n    }\n    pcVar14 = section->name;\n    pcVar11 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);\n    warn(pcVar11,pcVar14,uVar35);\n    return 0;\n  }\n  local_d4 = (uchar *)0x0;\n  local_d0 = 0;\nLAB_0006322d:\n  uVar35 = load_debug_info(in_stack_fffffef4);\n  if (uVar35 == 0) {\n    pcVar11 = section->name;\n    uVar35 = 5;\n    pcVar14 = (char *)dcgettext(0,\n                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                                ,5);\nLAB_0006500d:\n    warn(pcVar14,pcVar11,uVar35);\n    return 0;\n  }\n  if (num_debug_info_entries == 0) {\n    local_dc._0_4_ = 0;\n    local_8c = (uchar *)0x0;\n    local_74 = (dwarf_section *)0x1;\n    local_cc = 0;\n  }\n  else {\n    bVar41 = false;\n    local_f0 = (uchar *)0x0;\n    local_8c = (uchar *)0x0;\n    ppdVar15 = &debug_information->loc_offsets;\n    local_74 = (dwarf_section *)0x1;\n    local_f4 = (uchar *)0x0;\n    uVar35 = 0;\n    local_dc._0_4_ = 0;\n    do {\n      uVar40 = (uint)ppdVar15[3];\n      if ((uint)local_dc < uVar40) {\n        local_dc._0_4_ = uVar40;\n      }\n      if ((uVar40 != 0) && (local_74 != (dwarf_section *)0x0)) {\n        if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }\n        uVar16 = (uint)!bVar41;\n        if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      ppdVar15 = ppdVar15 + 0x14;\n    } while ((uchar *)num_debug_info_entries != local_f0);\n    local_cc = (int)local_8c * 0x50;\n    if (bVar41) goto LAB_00063484;\n  }\n  pcVar14 = "No location lists in .debug_info section!\n";\n  pcVar18 = (char *)dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(pcVar18);\nLAB_00063484:\n  if (((*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0) &&\n      (puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50)) &&\n     (puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc),\n     local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49)) {\n    pcVar18 = dwarf_vmatoa_1("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50);\n    pcVar14 = section->name;\n    pcVar29 = (char *)dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(pcVar29,pcVar14,pcVar18);\n  }\n  local_5c = (void *)0x0;\n  section_1 = local_74;\n  if (local_74 == (dwarf_section *)0x0) {\n    local_5c = xcmalloc((uint)local_dc,4);\n    section_1 = extraout_ECX;\n  }\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n  bVar17 = reloc_at(section,0);\n  if (bVar17 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = "    Offset   Begin            End              Expression\n";\n  puVar50 = (uchar *)0x5;\n  pcVar18 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar18);\n  puVar8 = PTR_stdout_000b3fd8;\n  if (local_8c < num_debug_info_entries) {\n    bVar41 = false;\n    pdVar19 = debug_information;\n    do {\n      pdVar32 = pdVar19 + (int)local_8c;\n      puVar34 = (uchar *)pdVar32->num_loc_offsets;\n      if (local_74 == (dwarf_section *)0x0) {\n        if (puVar34 != (uchar *)0x0) {\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }\n        loc_offsets = pdVar32->loc_offsets;\n        loc_views = pdVar32->loc_views;\n        puVar50 = (uchar *)0x4;\n        pcVar14 = (char *)puVar34;\n        qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);\n        pdVar32 = debug_information + (int)local_8c;\n        puVar34 = (uchar *)pdVar32->num_loc_offsets;\n        pdVar19 = debug_information;\n      }\n      bVar42 = true;\n      local_f0 = (uchar *)0x0;\n      if (puVar34 != (uchar *)0x0) {\nLAB_00063757:\n        pdVar3 = pdVar32->loc_views;\n        pdVar4 = pdVar32->loc_offsets;\n        if (local_74 == (dwarf_section *)0x0) {\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == (uchar *)0x0) {\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        pcVar18 = *(char **)(pdVar4 + (int)local_f0);\n        local_e8 = (int)local_f0 * 8 + -8;\n        uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);\n        local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);\n        puVar34 = *(uchar **)(pdVar3 + (int)local_f0);\nLAB_0006389e:\n        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < num_debug_info_entries);\n  }\n  if (start < section->start + (int)section->size) {\n    iVar31 = (int)(section->start + (int)section->size) - (int)start;\n    pcVar11 = section->name;\n    pcVar14 = (char *)dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(pcVar14,iVar31,pcVar11);\n  }\n  putc(10,*(FILE **)puVar8);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  puVar50 = (uchar *)0x5;\n  pcVar14 = (char *)dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n");\n  warn(pcVar14);\n  start = puVar37;\n  vstart = puVar39;\nLAB_000637dc:\n  if ((bVar42) && (bVar6)) {\n    if (start == local_ec) {\n      bVar42 = true;\n    }\n    else {\n      if (puVar36 == vstart) {\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }\n      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";\n      puVar50 = (uchar *)0x5;\n      pcVar14 = (char *)dcgettext(0);\n      warn(pcVar14);\n      bVar42 = false;\nLAB_00063833:\n      if (start != local_ec) goto LAB_00063844;\n    }\n    display_view_pair_list(section,&start,(uint)vstart,(uchar *)pcVar18);\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }\n  else {\n    if (local_ec != (uchar *)0x0) goto LAB_00063833;\nLAB_00063844:\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }\nLAB_0006373a:\n  pdVar32 = pdVar19 + (int)local_8c;\n  local_f0 = (uchar *)((int)local_f0 + 1);\n  if (pdVar32->num_loc_offsets <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}" primitive_type (function_declarator "display_debug_loc(dwarf_section *section,void *file)" identifier (parameter_list "(dwarf_section *section,void *file)" ( (parameter_declaration "dwarf_section *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "void *file" primitive_type (pointer_declarator "*file" * identifier)) ))) (compound_statement "{\n  uchar *puVar1;\n  uchar *puVar2;\n  dwarf_vma *pdVar3;\n  dwarf_vma *pdVar4;\n  int iVar5;\n  bool bVar6;\n  dwarf_vma dVar7;\n  undefined *puVar8;\n  bool bVar9;\n  byte *pbVar10;\n  char *pcVar11;\n  uchar *puVar12;\n  uchar *puVar13;\n  char *pcVar14;\n  dwarf_vma **ppdVar15;\n  uint uVar16;\n  bfd_boolean bVar17;\n  char *pcVar18;\n  debug_info *pdVar19;\n  int iVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uchar *puVar24;\n  uchar *puVar25;\n  uchar *puVar26;\n  uchar *puVar27;\n  undefined4 uVar28;\n  char *pcVar29;\n  byte bVar30;\n  int iVar31;\n  dwarf_section *section_1;\n  dwarf_section *extraout_ECX;\n  debug_info *pdVar32;\n  FILE *pFVar33;\n  uchar *puVar34;\n  uint uVar35;\n  uchar *puVar36;\n  uchar *puVar37;\n  byte *pbVar38;\n  uchar *puVar39;\n  uint uVar40;\n  bool bVar41;\n  bool bVar42;\n  byte bVar43;\n  elf_vma eVar44;\n  ulonglong uVar45;\n  ulonglong uVar46;\n  dwarf_vma dVar47;\n  dwarf_vma dVar48;\n  dwarf_vma length;\n  uint *puVar49;\n  uchar *puVar50;\n  _func_elf_vma_uchar_ptr_int **in_stack_fffffef4;\n  undefined8 local_104;\n  uint local_fc;\n  uint local_f8;\n  uchar *local_f4;\n  uchar *local_f0;\n  uchar *local_ec;\n  int local_e8;\n  dwarf_vma local_e4;\n  undefined8 local_dc;\n  uchar *local_d4;\n  uint local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  undefined8 local_ac;\n  uint local_a4;\n  uint local_94;\n  uchar *local_8c;\n  int local_7c;\n  dwarf_section *local_74;\n  uint local_68;\n  void *local_5c;\n  uint local_34;\n  uchar *start;\n  uchar *vstart;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  bVar43 = 0;\n  uStack_14 = 0x63029;\n  vstart = (uchar *)0x0;\n  puVar1 = section->start;\n  pcVar11 = section->name;\n  start = puVar1;\n  pbVar10 = (byte *)strrchr(pcVar11,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar10 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar38 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar10 < *pbVar38;\n      bVar42 = *pbVar10 == *pbVar38;\n      pbVar10 = pbVar10 + (uint)bVar43 * -2 + 1;\n      pbVar38 = pbVar38 + (uint)bVar43 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  puVar2 = *(uchar **)&section->size;\n  if (puVar2 == (uchar *)0x0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar11);\n    return 0;\n  }\n  pcVar14 = "debug_loclists";\n  pcVar11 = strstr(pcVar11,"debug_loclists");\n  if (pcVar11 != (char *)0x0) {\n    puVar50 = puVar1 + 4;\n    puVar34 = puVar1 + (int)puVar2;\n    local_d4 = puVar50;\n    if (puVar50 < puVar34) {\n      puVar12 = (uchar *)0x4;\nLAB_000630f8:\n      in_stack_fffffef4 = &byte_get;\n      eVar44 = (*byte_get)(puVar1,(int)puVar12);\n      if (eVar44 == 0xffffffff) {\n        local_d4 = puVar1 + 0xc;\n        if (local_d4 < puVar34) {\n          puVar12 = (uchar *)0x8;\n        }\n        else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }\n        (**in_stack_fffffef4)(puVar50,(int)puVar12);\n      }\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        puVar12 = (uchar *)0x2;\n      }\n      else if ((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;\nLAB_0006315d:\n      eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12);\n      if ((ushort)eVar44 == 5) {\n        puVar36 = local_d4 + 3;\n        if (puVar36 < puVar34) {\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }\n        else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = local_d4 + (8 - (int)puVar1);\n        local_d0 = (int)local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar35 = (uint)(ushort)eVar44;\n    }\n    else {\n      if ((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)) goto LAB_000630f8;\nLAB_00063148:\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        in_stack_fffffef4 = &byte_get;\n        puVar12 = (uchar *)0x2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar35 = 0;\n    }\n    pcVar14 = section->name;\n    pcVar11 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);\n    warn(pcVar11,pcVar14,uVar35);\n    return 0;\n  }\n  local_d4 = (uchar *)0x0;\n  local_d0 = 0;\nLAB_0006322d:\n  uVar35 = load_debug_info(in_stack_fffffef4);\n  if (uVar35 == 0) {\n    pcVar11 = section->name;\n    uVar35 = 5;\n    pcVar14 = (char *)dcgettext(0,\n                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                                ,5);\nLAB_0006500d:\n    warn(pcVar14,pcVar11,uVar35);\n    return 0;\n  }\n  if (num_debug_info_entries == 0) {\n    local_dc._0_4_ = 0;\n    local_8c = (uchar *)0x0;\n    local_74 = (dwarf_section *)0x1;\n    local_cc = 0;\n  }\n  else {\n    bVar41 = false;\n    local_f0 = (uchar *)0x0;\n    local_8c = (uchar *)0x0;\n    ppdVar15 = &debug_information->loc_offsets;\n    local_74 = (dwarf_section *)0x1;\n    local_f4 = (uchar *)0x0;\n    uVar35 = 0;\n    local_dc._0_4_ = 0;\n    do {\n      uVar40 = (uint)ppdVar15[3];\n      if ((uint)local_dc < uVar40) {\n        local_dc._0_4_ = uVar40;\n      }\n      if ((uVar40 != 0) && (local_74 != (dwarf_section *)0x0)) {\n        if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }\n        uVar16 = (uint)!bVar41;\n        if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      ppdVar15 = ppdVar15 + 0x14;\n    } while ((uchar *)num_debug_info_entries != local_f0);\n    local_cc = (int)local_8c * 0x50;\n    if (bVar41) goto LAB_00063484;\n  }\n  pcVar14 = "No location lists in .debug_info section!\n";\n  pcVar18 = (char *)dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(pcVar18);\nLAB_00063484:\n  if (((*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0) &&\n      (puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50)) &&\n     (puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc),\n     local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49)) {\n    pcVar18 = dwarf_vmatoa_1("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50);\n    pcVar14 = section->name;\n    pcVar29 = (char *)dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(pcVar29,pcVar14,pcVar18);\n  }\n  local_5c = (void *)0x0;\n  section_1 = local_74;\n  if (local_74 == (dwarf_section *)0x0) {\n    local_5c = xcmalloc((uint)local_dc,4);\n    section_1 = extraout_ECX;\n  }\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n  bVar17 = reloc_at(section,0);\n  if (bVar17 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = "    Offset   Begin            End              Expression\n";\n  puVar50 = (uchar *)0x5;\n  pcVar18 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar18);\n  puVar8 = PTR_stdout_000b3fd8;\n  if (local_8c < num_debug_info_entries) {\n    bVar41 = false;\n    pdVar19 = debug_information;\n    do {\n      pdVar32 = pdVar19 + (int)local_8c;\n      puVar34 = (uchar *)pdVar32->num_loc_offsets;\n      if (local_74 == (dwarf_section *)0x0) {\n        if (puVar34 != (uchar *)0x0) {\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }\n        loc_offsets = pdVar32->loc_offsets;\n        loc_views = pdVar32->loc_views;\n        puVar50 = (uchar *)0x4;\n        pcVar14 = (char *)puVar34;\n        qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);\n        pdVar32 = debug_information + (int)local_8c;\n        puVar34 = (uchar *)pdVar32->num_loc_offsets;\n        pdVar19 = debug_information;\n      }\n      bVar42 = true;\n      local_f0 = (uchar *)0x0;\n      if (puVar34 != (uchar *)0x0) {\nLAB_00063757:\n        pdVar3 = pdVar32->loc_views;\n        pdVar4 = pdVar32->loc_offsets;\n        if (local_74 == (dwarf_section *)0x0) {\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == (uchar *)0x0) {\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        pcVar18 = *(char **)(pdVar4 + (int)local_f0);\n        local_e8 = (int)local_f0 * 8 + -8;\n        uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);\n        local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);\n        puVar34 = *(uchar **)(pdVar3 + (int)local_f0);\nLAB_0006389e:\n        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < num_debug_info_entries);\n  }\n  if (start < section->start + (int)section->size) {\n    iVar31 = (int)(section->start + (int)section->size) - (int)start;\n    pcVar11 = section->name;\n    pcVar14 = (char *)dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(pcVar14,iVar31,pcVar11);\n  }\n  putc(10,*(FILE **)puVar8);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  puVar50 = (uchar *)0x5;\n  pcVar14 = (char *)dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n");\n  warn(pcVar14);\n  start = puVar37;\n  vstart = puVar39;\nLAB_000637dc:\n  if ((bVar42) && (bVar6)) {\n    if (start == local_ec) {\n      bVar42 = true;\n    }\n    else {\n      if (puVar36 == vstart) {\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }\n      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";\n      puVar50 = (uchar *)0x5;\n      pcVar14 = (char *)dcgettext(0);\n      warn(pcVar14);\n      bVar42 = false;\nLAB_00063833:\n      if (start != local_ec) goto LAB_00063844;\n    }\n    display_view_pair_list(section,&start,(uint)vstart,(uchar *)pcVar18);\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }\n  else {\n    if (local_ec != (uchar *)0x0) goto LAB_00063833;\nLAB_00063844:\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }\nLAB_0006373a:\n  pdVar32 = pdVar19 + (int)local_8c;\n  local_f0 = (uchar *)((int)local_f0 + 1);\n  if (pdVar32->num_loc_offsets <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}" { (declaration "uchar *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uchar *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "dwarf_vma *pdVar3;" type_identifier (pointer_declarator "*pdVar3" * identifier) ;) (declaration "dwarf_vma *pdVar4;" type_identifier (pointer_declarator "*pdVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "dwarf_vma dVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uchar *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uchar *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "dwarf_vma **ppdVar15;" type_identifier (pointer_declarator "**ppdVar15" * (pointer_declarator "*ppdVar15" * identifier)) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "bfd_boolean bVar17;" type_identifier identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "debug_info *pdVar19;" type_identifier (pointer_declarator "*pdVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uchar *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "uchar *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "uchar *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "uchar *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "undefined4 uVar28;" type_identifier identifier ;) (declaration "char *pcVar29;" primitive_type (pointer_declarator "*pcVar29" * identifier) ;) (declaration "byte bVar30;" type_identifier identifier ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "dwarf_section *section_1;" type_identifier (pointer_declarator "*section_1" * identifier) ;) (declaration "dwarf_section *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "debug_info *pdVar32;" type_identifier (pointer_declarator "*pdVar32" * identifier) ;) (declaration "FILE *pFVar33;" type_identifier (pointer_declarator "*pFVar33" * identifier) ;) (declaration "uchar *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "uchar *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "uchar *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "byte *pbVar38;" type_identifier (pointer_declarator "*pbVar38" * identifier) ;) (declaration "uchar *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "uint uVar40;" type_identifier identifier ;) (declaration "bool bVar41;" primitive_type identifier ;) (declaration "bool bVar42;" primitive_type identifier ;) (declaration "byte bVar43;" type_identifier identifier ;) (declaration "elf_vma eVar44;" type_identifier identifier ;) (declaration "ulonglong uVar45;" type_identifier identifier ;) (declaration "ulonglong uVar46;" type_identifier identifier ;) (declaration "dwarf_vma dVar47;" type_identifier identifier ;) (declaration "dwarf_vma dVar48;" type_identifier identifier ;) (declaration "dwarf_vma length;" type_identifier identifier ;) (declaration "uint *puVar49;" type_identifier (pointer_declarator "*puVar49" * identifier) ;) (declaration "uchar *puVar50;" type_identifier (pointer_declarator "*puVar50" * identifier) ;) (declaration "_func_elf_vma_uchar_ptr_int **in_stack_fffffef4;" type_identifier (pointer_declarator "**in_stack_fffffef4" * (pointer_declarator "*in_stack_fffffef4" * identifier)) ;) (declaration "undefined8 local_104;" type_identifier identifier ;) (declaration "uint local_fc;" type_identifier identifier ;) (declaration "uint local_f8;" type_identifier identifier ;) (declaration "uchar *local_f4;" type_identifier (pointer_declarator "*local_f4" * identifier) ;) (declaration "uchar *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "uchar *local_ec;" type_identifier (pointer_declarator "*local_ec" * identifier) ;) (declaration "int local_e8;" primitive_type identifier ;) (declaration "dwarf_vma local_e4;" type_identifier identifier ;) (declaration "undefined8 local_dc;" type_identifier identifier ;) (declaration "uchar *local_d4;" type_identifier (pointer_declarator "*local_d4" * identifier) ;) (declaration "uint local_d0;" type_identifier identifier ;) (declaration "int local_cc;" primitive_type identifier ;) (declaration "uint local_c8;" type_identifier identifier ;) (declaration "uint local_bc;" type_identifier identifier ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "undefined8 local_ac;" type_identifier identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "uchar *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "dwarf_section *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "void *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uchar *start;" type_identifier (pointer_declarator "*start" * identifier) ;) (declaration "uchar *vstart;" type_identifier (pointer_declarator "*vstart" * identifier) ;) (declaration "uint bytes_read;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar43 = 0;" (assignment_expression "bVar43 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x63029;" (assignment_expression "uStack_14 = 0x63029" identifier = number_literal) ;) (expression_statement "vstart = (uchar *)0x0;" (assignment_expression "vstart = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar1 = section->start;" (assignment_expression "puVar1 = section->start" identifier = (field_expression "section->start" identifier -> field_identifier)) ;) (expression_statement "pcVar11 = section->name;" (assignment_expression "pcVar11 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "start = puVar1;" (assignment_expression "start = puVar1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)strrchr(pcVar11,0x2e);" (assignment_expression "pbVar10 = (byte *)strrchr(pcVar11,0x2e)" identifier = (cast_expression "(byte *)strrchr(pcVar11,0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strrchr(pcVar11,0x2e)" identifier (argument_list "(pcVar11,0x2e)" ( identifier , number_literal ))))) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "bVar41 = false;" (assignment_expression "bVar41 = false" identifier = false) ;) (expression_statement "bVar42 = pbVar10 == (byte *)0x0;" (assignment_expression "bVar42 = pbVar10 == (byte *)0x0" identifier = (binary_expression "pbVar10 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar42) {\n    iVar31 = 5;\n    pbVar38 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar10 < *pbVar38;\n      bVar42 = *pbVar10 == *pbVar38;\n      pbVar10 = pbVar10 + (uint)bVar43 * -2 + 1;\n      pbVar38 = pbVar38 + (uint)bVar43 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }" if (parenthesized_expression "(!bVar42)" ( (unary_expression "!bVar42" ! identifier) )) (compound_statement "{\n    iVar31 = 5;\n    pbVar38 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar10 < *pbVar38;\n      bVar42 = *pbVar10 == *pbVar38;\n      pbVar10 = pbVar10 + (uint)bVar43 * -2 + 1;\n      pbVar38 = pbVar38 + (uint)bVar43 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }" { (expression_statement "iVar31 = 5;" (assignment_expression "iVar31 = 5" identifier = number_literal) ;) (expression_statement "pbVar38 = (byte *)0x9432f;" (assignment_expression "pbVar38 = (byte *)0x9432f" identifier = (cast_expression "(byte *)0x9432f" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar10 < *pbVar38;\n      bVar42 = *pbVar10 == *pbVar38;\n      pbVar10 = pbVar10 + (uint)bVar43 * -2 + 1;\n      pbVar38 = pbVar38 + (uint)bVar43 * -2 + 1;\n    } while (bVar42);" do (compound_statement "{\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar10 < *pbVar38;\n      bVar42 = *pbVar10 == *pbVar38;\n      pbVar10 = pbVar10 + (uint)bVar43 * -2 + 1;\n      pbVar38 = pbVar38 + (uint)bVar43 * -2 + 1;\n    }" { (if_statement "if (iVar31 == 0) break;" if (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar31 = iVar31 + -1;" (assignment_expression "iVar31 = iVar31 + -1" identifier = (binary_expression "iVar31 + -1" identifier + number_literal)) ;) (expression_statement "bVar41 = *pbVar10 < *pbVar38;" (assignment_expression "bVar41 = *pbVar10 < *pbVar38" identifier = (binary_expression "*pbVar10 < *pbVar38" (pointer_expression "*pbVar10" * identifier) < (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "bVar42 = *pbVar10 == *pbVar38;" (assignment_expression "bVar42 = *pbVar10 == *pbVar38" identifier = (binary_expression "*pbVar10 == *pbVar38" (pointer_expression "*pbVar10" * identifier) == (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar43 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar43 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar43 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar43 * -2" identifier + (binary_expression "(uint)bVar43 * -2" (cast_expression "(uint)bVar43" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar38 = pbVar38 + (uint)bVar43 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (uint)bVar43 * -2 + 1" identifier = (binary_expression "pbVar38 + (uint)bVar43 * -2 + 1" (binary_expression "pbVar38 + (uint)bVar43 * -2" identifier + (binary_expression "(uint)bVar43 * -2" (cast_expression "(uint)bVar43" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar42)" ( identifier )) ;) (expression_statement "local_68 = (uint)((!bVar41 && !bVar42) == bVar41);" (assignment_expression "local_68 = (uint)((!bVar41 && !bVar42) == bVar41)" identifier = (call_expression "(uint)((!bVar41 && !bVar42) == bVar41)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((!bVar41 && !bVar42) == bVar41)" ( (binary_expression "(!bVar41 && !bVar42) == bVar41" (parenthesized_expression "(!bVar41 && !bVar42)" ( (binary_expression "!bVar41 && !bVar42" (unary_expression "!bVar41" ! identifier) && (unary_expression "!bVar42" ! identifier)) )) == identifier) )))) ;) })) (expression_statement "puVar2 = *(uchar **)&section->size;" (assignment_expression "puVar2 = *(uchar **)&section->size" identifier = (pointer_expression "*(uchar **)&section->size" * (cast_expression "(uchar **)&section->size" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&section->size" & (field_expression "section->size" identifier -> field_identifier))))) ;) (if_statement "if (puVar2 == (uchar *)0x0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar11);\n    return 0;\n  }" if (parenthesized_expression "(puVar2 == (uchar *)0x0)" ( (binary_expression "puVar2 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar11);\n    return 0;\n  }" { (expression_statement "pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nThe %s section is empty.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nThe %s section is empty.\n",5)" identifier (argument_list "(0,"\nThe %s section is empty.\n",5)" ( number_literal , (string_literal ""\nThe %s section is empty.\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,pcVar11);" (call_expression "printf(pcVar14,pcVar11)" identifier (argument_list "(pcVar14,pcVar11)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar14 = "debug_loclists";" (assignment_expression "pcVar14 = "debug_loclists"" identifier = (string_literal ""debug_loclists"" " string_content ")) ;) (expression_statement "pcVar11 = strstr(pcVar11,"debug_loclists");" (assignment_expression "pcVar11 = strstr(pcVar11,"debug_loclists")" identifier = (call_expression "strstr(pcVar11,"debug_loclists")" identifier (argument_list "(pcVar11,"debug_loclists")" ( identifier , (string_literal ""debug_loclists"" " string_content ") )))) ;) (if_statement "if (pcVar11 != (char *)0x0) {\n    puVar50 = puVar1 + 4;\n    puVar34 = puVar1 + (int)puVar2;\n    local_d4 = puVar50;\n    if (puVar50 < puVar34) {\n      puVar12 = (uchar *)0x4;\nLAB_000630f8:\n      in_stack_fffffef4 = &byte_get;\n      eVar44 = (*byte_get)(puVar1,(int)puVar12);\n      if (eVar44 == 0xffffffff) {\n        local_d4 = puVar1 + 0xc;\n        if (local_d4 < puVar34) {\n          puVar12 = (uchar *)0x8;\n        }\n        else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }\n        (**in_stack_fffffef4)(puVar50,(int)puVar12);\n      }\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        puVar12 = (uchar *)0x2;\n      }\n      else if ((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;\nLAB_0006315d:\n      eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12);\n      if ((ushort)eVar44 == 5) {\n        puVar36 = local_d4 + 3;\n        if (puVar36 < puVar34) {\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }\n        else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = local_d4 + (8 - (int)puVar1);\n        local_d0 = (int)local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar35 = (uint)(ushort)eVar44;\n    }\n    else {\n      if ((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)) goto LAB_000630f8;\nLAB_00063148:\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        in_stack_fffffef4 = &byte_get;\n        puVar12 = (uchar *)0x2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar35 = 0;\n    }\n    pcVar14 = section->name;\n    pcVar11 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);\n    warn(pcVar11,pcVar14,uVar35);\n    return 0;\n  }" if (parenthesized_expression "(pcVar11 != (char *)0x0)" ( (binary_expression "pcVar11 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar50 = puVar1 + 4;\n    puVar34 = puVar1 + (int)puVar2;\n    local_d4 = puVar50;\n    if (puVar50 < puVar34) {\n      puVar12 = (uchar *)0x4;\nLAB_000630f8:\n      in_stack_fffffef4 = &byte_get;\n      eVar44 = (*byte_get)(puVar1,(int)puVar12);\n      if (eVar44 == 0xffffffff) {\n        local_d4 = puVar1 + 0xc;\n        if (local_d4 < puVar34) {\n          puVar12 = (uchar *)0x8;\n        }\n        else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }\n        (**in_stack_fffffef4)(puVar50,(int)puVar12);\n      }\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        puVar12 = (uchar *)0x2;\n      }\n      else if ((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;\nLAB_0006315d:\n      eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12);\n      if ((ushort)eVar44 == 5) {\n        puVar36 = local_d4 + 3;\n        if (puVar36 < puVar34) {\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }\n        else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = local_d4 + (8 - (int)puVar1);\n        local_d0 = (int)local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar35 = (uint)(ushort)eVar44;\n    }\n    else {\n      if ((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)) goto LAB_000630f8;\nLAB_00063148:\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        in_stack_fffffef4 = &byte_get;\n        puVar12 = (uchar *)0x2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar35 = 0;\n    }\n    pcVar14 = section->name;\n    pcVar11 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);\n    warn(pcVar11,pcVar14,uVar35);\n    return 0;\n  }" { (expression_statement "puVar50 = puVar1 + 4;" (assignment_expression "puVar50 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" identifier + number_literal)) ;) (expression_statement "puVar34 = puVar1 + (int)puVar2;" (assignment_expression "puVar34 = puVar1 + (int)puVar2" identifier = (binary_expression "puVar1 + (int)puVar2" identifier + (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_d4 = puVar50;" (assignment_expression "local_d4 = puVar50" identifier = identifier) ;) (if_statement "if (puVar50 < puVar34) {\n      puVar12 = (uchar *)0x4;\nLAB_000630f8:\n      in_stack_fffffef4 = &byte_get;\n      eVar44 = (*byte_get)(puVar1,(int)puVar12);\n      if (eVar44 == 0xffffffff) {\n        local_d4 = puVar1 + 0xc;\n        if (local_d4 < puVar34) {\n          puVar12 = (uchar *)0x8;\n        }\n        else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }\n        (**in_stack_fffffef4)(puVar50,(int)puVar12);\n      }\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        puVar12 = (uchar *)0x2;\n      }\n      else if ((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;\nLAB_0006315d:\n      eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12);\n      if ((ushort)eVar44 == 5) {\n        puVar36 = local_d4 + 3;\n        if (puVar36 < puVar34) {\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }\n        else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = local_d4 + (8 - (int)puVar1);\n        local_d0 = (int)local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar35 = (uint)(ushort)eVar44;\n    }\n    else {\n      if ((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)) goto LAB_000630f8;\nLAB_00063148:\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        in_stack_fffffef4 = &byte_get;\n        puVar12 = (uchar *)0x2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar35 = 0;\n    }" if (parenthesized_expression "(puVar50 < puVar34)" ( (binary_expression "puVar50 < puVar34" identifier < identifier) )) (compound_statement "{\n      puVar12 = (uchar *)0x4;\nLAB_000630f8:\n      in_stack_fffffef4 = &byte_get;\n      eVar44 = (*byte_get)(puVar1,(int)puVar12);\n      if (eVar44 == 0xffffffff) {\n        local_d4 = puVar1 + 0xc;\n        if (local_d4 < puVar34) {\n          puVar12 = (uchar *)0x8;\n        }\n        else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }\n        (**in_stack_fffffef4)(puVar50,(int)puVar12);\n      }\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        puVar12 = (uchar *)0x2;\n      }\n      else if ((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;\nLAB_0006315d:\n      eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12);\n      if ((ushort)eVar44 == 5) {\n        puVar36 = local_d4 + 3;\n        if (puVar36 < puVar34) {\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }\n        else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = local_d4 + (8 - (int)puVar1);\n        local_d0 = (int)local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar35 = (uint)(ushort)eVar44;\n    }" { (expression_statement "puVar12 = (uchar *)0x4;" (assignment_expression "puVar12 = (uchar *)0x4" identifier = (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000630f8:\n      in_stack_fffffef4 = &byte_get;" statement_identifier : (expression_statement "in_stack_fffffef4 = &byte_get;" (assignment_expression "in_stack_fffffef4 = &byte_get" identifier = (pointer_expression "&byte_get" & identifier)) ;)) (expression_statement "eVar44 = (*byte_get)(puVar1,(int)puVar12);" (assignment_expression "eVar44 = (*byte_get)(puVar1,(int)puVar12)" identifier = (call_expression "(*byte_get)(puVar1,(int)puVar12)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar1,(int)puVar12)" ( identifier , (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (eVar44 == 0xffffffff) {\n        local_d4 = puVar1 + 0xc;\n        if (local_d4 < puVar34) {\n          puVar12 = (uchar *)0x8;\n        }\n        else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }\n        (**in_stack_fffffef4)(puVar50,(int)puVar12);\n      }" if (parenthesized_expression "(eVar44 == 0xffffffff)" ( (binary_expression "eVar44 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        local_d4 = puVar1 + 0xc;\n        if (local_d4 < puVar34) {\n          puVar12 = (uchar *)0x8;\n        }\n        else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }\n        (**in_stack_fffffef4)(puVar50,(int)puVar12);\n      }" { (expression_statement "local_d4 = puVar1 + 0xc;" (assignment_expression "local_d4 = puVar1 + 0xc" identifier = (binary_expression "puVar1 + 0xc" identifier + number_literal)) ;) (if_statement "if (local_d4 < puVar34) {\n          puVar12 = (uchar *)0x8;\n        }\n        else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }" if (parenthesized_expression "(local_d4 < puVar34)" ( (binary_expression "local_d4 < puVar34" identifier < identifier) )) (compound_statement "{\n          puVar12 = (uchar *)0x8;\n        }" { (expression_statement "puVar12 = (uchar *)0x8;" (assignment_expression "puVar12 = (uchar *)0x8" identifier = (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }" else (compound_statement "{\n          if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;\n          puVar12 = puVar2 + -4;\n        }" { (if_statement "if ((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)) goto LAB_00063148;" if (parenthesized_expression "((puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5))" ( (binary_expression "(puVar34 <= puVar50) || ((uchar *)0x7 < puVar2 + -5)" (parenthesized_expression "(puVar34 <= puVar50)" ( (binary_expression "puVar34 <= puVar50" identifier <= identifier) )) || (parenthesized_expression "((uchar *)0x7 < puVar2 + -5)" ( (binary_expression "(uchar *)0x7 < puVar2 + -5" (cast_expression "(uchar *)0x7" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar2 + -5" identifier + number_literal)) ))) )) (goto_statement "goto LAB_00063148;" goto statement_identifier ;)) (expression_statement "puVar12 = puVar2 + -4;" (assignment_expression "puVar12 = puVar2 + -4" identifier = (binary_expression "puVar2 + -4" identifier + number_literal)) ;) }))) (expression_statement "(**in_stack_fffffef4)(puVar50,(int)puVar12);" (call_expression "(**in_stack_fffffef4)(puVar50,(int)puVar12)" (parenthesized_expression "(**in_stack_fffffef4)" ( (pointer_expression "**in_stack_fffffef4" * (pointer_expression "*in_stack_fffffef4" * identifier)) )) (argument_list "(puVar50,(int)puVar12)" ( identifier , (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "puVar50 = local_d4 + 2;" (assignment_expression "puVar50 = local_d4 + 2" identifier = (binary_expression "local_d4 + 2" identifier + number_literal)) ;) (if_statement "if (puVar50 < puVar34) {\n        puVar12 = (uchar *)0x2;\n      }\n      else if ((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;" if (parenthesized_expression "(puVar50 < puVar34)" ( (binary_expression "puVar50 < puVar34" identifier < identifier) )) (compound_statement "{\n        puVar12 = (uchar *)0x2;\n      }" { (expression_statement "puVar12 = (uchar *)0x2;" (assignment_expression "puVar12 = (uchar *)0x2" identifier = (cast_expression "(uchar *)0x2" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;" else (if_statement "if ((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)) goto LAB_00063137;" if (parenthesized_expression "((puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1))" ( (binary_expression "(puVar34 <= local_d4) ||\n              (puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)" (parenthesized_expression "(puVar34 <= local_d4)" ( (binary_expression "puVar34 <= local_d4" identifier <= identifier) )) || (parenthesized_expression "(puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1)" ( (comma_expression "puVar12 = puVar34 + -(int)local_d4, (uchar *)0x7 < puVar12 + -1" (assignment_expression "puVar12 = puVar34 + -(int)local_d4" identifier = (binary_expression "puVar34 + -(int)local_d4" identifier + (unary_expression "-(int)local_d4" - (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier)))) , (binary_expression "(uchar *)0x7 < puVar12 + -1" (cast_expression "(uchar *)0x7" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar12 + -1" identifier + number_literal))) ))) )) (goto_statement "goto LAB_00063137;" goto statement_identifier ;)))) (labeled_statement "LAB_0006315d:\n      eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12);" statement_identifier : (expression_statement "eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12);" (assignment_expression "eVar44 = (**in_stack_fffffef4)(local_d4,(int)puVar12)" identifier = (call_expression "(**in_stack_fffffef4)(local_d4,(int)puVar12)" (parenthesized_expression "(**in_stack_fffffef4)" ( (pointer_expression "**in_stack_fffffef4" * (pointer_expression "*in_stack_fffffef4" * identifier)) )) (argument_list "(local_d4,(int)puVar12)" ( identifier , (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (if_statement "if ((ushort)eVar44 == 5) {\n        puVar36 = local_d4 + 3;\n        if (puVar36 < puVar34) {\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }\n        else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = local_d4 + (8 - (int)puVar1);\n        local_d0 = (int)local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }" if (parenthesized_expression "((ushort)eVar44 == 5)" ( (binary_expression "(ushort)eVar44 == 5" (cast_expression "(ushort)eVar44" ( (type_descriptor "ushort" type_identifier) ) identifier) == number_literal) )) (compound_statement "{\n        puVar36 = local_d4 + 3;\n        if (puVar36 < puVar34) {\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }\n        else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = local_d4 + (8 - (int)puVar1);\n        local_d0 = (int)local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }" { (expression_statement "puVar36 = local_d4 + 3;" (assignment_expression "puVar36 = local_d4 + 3" identifier = (binary_expression "local_d4 + 3" identifier + number_literal)) ;) (if_statement "if (puVar36 < puVar34) {\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }\n        else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" if (parenthesized_expression "(puVar36 < puVar34)" ( (binary_expression "puVar36 < puVar34" identifier < identifier) )) (compound_statement "{\n          puVar13 = (uchar *)0x1;\nLAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);\n          if (local_d4 + 4 < puVar34) goto LAB_000633ff;\n          puVar12 = puVar13;\n          if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;\nLAB_000631f5:\n          pcVar14 = (char *)puVar12;\n          if (local_d4 + 8 < puVar34) goto LAB_000631fc;\n        }" { (expression_statement "puVar13 = (uchar *)0x1;" (assignment_expression "puVar13 = (uchar *)0x1" identifier = (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000631c0:\n          (**in_stack_fffffef4)(puVar50,(int)puVar13);" statement_identifier : (expression_statement "(**in_stack_fffffef4)(puVar50,(int)puVar13);" (call_expression "(**in_stack_fffffef4)(puVar50,(int)puVar13)" (parenthesized_expression "(**in_stack_fffffef4)" ( (pointer_expression "**in_stack_fffffef4" * (pointer_expression "*in_stack_fffffef4" * identifier)) )) (argument_list "(puVar50,(int)puVar13)" ( identifier , (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;)) (if_statement "if (local_d4 + 4 < puVar34) goto LAB_000633ff;" if (parenthesized_expression "(local_d4 + 4 < puVar34)" ( (binary_expression "local_d4 + 4 < puVar34" (binary_expression "local_d4 + 4" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_000633ff;" goto statement_identifier ;)) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (if_statement "if ((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))\n          goto LAB_00063404;" if (parenthesized_expression "((puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8))" ( (binary_expression "(puVar36 < puVar34) &&\n             (pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8)" (parenthesized_expression "(puVar36 < puVar34)" ( (binary_expression "puVar36 < puVar34" identifier < identifier) )) && (parenthesized_expression "(pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8)" ( (comma_expression "pcVar14 = (char *)(puVar34 + -(int)puVar36), (uchar *)pcVar14 + -1 < (uchar *)0x8" (assignment_expression "pcVar14 = (char *)(puVar34 + -(int)puVar36)" identifier = (cast_expression "(char *)(puVar34 + -(int)puVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -(int)puVar36)" ( (binary_expression "puVar34 + -(int)puVar36" identifier + (unary_expression "-(int)puVar36" - (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier))) )))) , (binary_expression "(uchar *)pcVar14 + -1 < (uchar *)0x8" (binary_expression "(uchar *)pcVar14 + -1" (cast_expression "(uchar *)pcVar14" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) < (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00063404;" goto statement_identifier ;)) (labeled_statement "LAB_000631f5:\n          pcVar14 = (char *)puVar12;" statement_identifier : (expression_statement "pcVar14 = (char *)puVar12;" (assignment_expression "pcVar14 = (char *)puVar12" identifier = (cast_expression "(char *)puVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (local_d4 + 8 < puVar34) goto LAB_000631fc;" if (parenthesized_expression "(local_d4 + 8 < puVar34)" ( (binary_expression "local_d4 + 8 < puVar34" (binary_expression "local_d4 + 8" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_000631fc;" goto statement_identifier ;)) }) (else_clause "else {\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" else (compound_statement "{\n          if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;\n          if (puVar34 <= local_d4 + 4) goto LAB_000631f5;\nLAB_000633ff:\n          pcVar14 = (char *)0x1;\nLAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);\n          uVar35 = (uint)eVar44;\n          if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }\n          if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;\n          eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);\n          uVar35 = (uint)eVar44;\n          pcVar14 = (char *)puVar34;\n          if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" { (if_statement "if ((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)) goto LAB_000631c0;" if (parenthesized_expression "((puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8))" ( (binary_expression "(puVar50 < puVar34) &&\n             (puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)" (parenthesized_expression "(puVar50 < puVar34)" ( (binary_expression "puVar50 < puVar34" identifier < identifier) )) && (parenthesized_expression "(puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8)" ( (comma_expression "puVar13 = puVar34 + -(int)puVar50, puVar13 + -1 < (uchar *)0x8" (assignment_expression "puVar13 = puVar34 + -(int)puVar50" identifier = (binary_expression "puVar34 + -(int)puVar50" identifier + (unary_expression "-(int)puVar50" - (cast_expression "(int)puVar50" ( (type_descriptor "int" primitive_type) ) identifier)))) , (binary_expression "puVar13 + -1 < (uchar *)0x8" (binary_expression "puVar13 + -1" identifier + number_literal) < (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000631c0;" goto statement_identifier ;)) (if_statement "if (puVar34 <= local_d4 + 4) goto LAB_000631f5;" if (parenthesized_expression "(puVar34 <= local_d4 + 4)" ( (binary_expression "puVar34 <= local_d4 + 4" identifier <= (binary_expression "local_d4 + 4" identifier + number_literal)) )) (goto_statement "goto LAB_000631f5;" goto statement_identifier ;)) (labeled_statement "LAB_000633ff:\n          pcVar14 = (char *)0x1;" statement_identifier : (expression_statement "pcVar14 = (char *)0x1;" (assignment_expression "pcVar14 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00063404:\n          eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);" statement_identifier : (expression_statement "eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14);" (assignment_expression "eVar44 = (**in_stack_fffffef4)(puVar36,(int)pcVar14)" identifier = (call_expression "(**in_stack_fffffef4)(puVar36,(int)pcVar14)" (parenthesized_expression "(**in_stack_fffffef4)" ( (pointer_expression "**in_stack_fffffef4" * (pointer_expression "*in_stack_fffffef4" * identifier)) )) (argument_list "(puVar36,(int)pcVar14)" ( identifier , (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (expression_statement "uVar35 = (uint)eVar44;" (assignment_expression "uVar35 = (uint)eVar44" identifier = (cast_expression "(uint)eVar44" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((char)eVar44 != '\0') {\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }" if (parenthesized_expression "((char)eVar44 != '\0')" ( (binary_expression "(char)eVar44 != '\0'" (cast_expression "(char)eVar44" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar11 = section->name;\n            pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);\n            uVar35 = uVar35 & 0xff;\n            goto LAB_0006500d;\n          }" { (expression_statement "pcVar11 = section->name;" (assignment_expression "pcVar11 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5)" identifier (argument_list "(0,\n                                        "The %s section contains unsupported segment selector size: %d.\n"\n                                        ,5)" ( number_literal , (string_literal ""The %s section contains unsupported segment selector size: %d.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "uVar35 = uVar35 & 0xff;" (assignment_expression "uVar35 = uVar35 & 0xff" identifier = (binary_expression "uVar35 & 0xff" identifier & number_literal)) ;) (goto_statement "goto LAB_0006500d;" goto statement_identifier ;) })) (if_statement "if (local_d4 + 8 < puVar34) {\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }\n          else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;" if (parenthesized_expression "(local_d4 + 8 < puVar34)" ( (binary_expression "local_d4 + 8 < puVar34" (binary_expression "local_d4 + 8" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_000631fc:\n            puVar34 = (uchar *)0x4;\n          }" { (labeled_statement "LAB_000631fc:\n            puVar34 = (uchar *)0x4;" statement_identifier : (expression_statement "puVar34 = (uchar *)0x4;" (assignment_expression "puVar34 = (uchar *)0x4" identifier = (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;" else (if_statement "if ((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))\n          goto LAB_00063219;" if (parenthesized_expression "((puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1))" ( (binary_expression "(puVar34 <= local_d4 + 4) ||\n                  (puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1)" (parenthesized_expression "(puVar34 <= local_d4 + 4)" ( (binary_expression "puVar34 <= local_d4 + 4" identifier <= (binary_expression "local_d4 + 4" identifier + number_literal)) )) || (parenthesized_expression "(puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1)" ( (comma_expression "puVar34 = puVar34 + -(int)(local_d4 + 4), (uchar *)0x7 < puVar34 + -1" (assignment_expression "puVar34 = puVar34 + -(int)(local_d4 + 4)" identifier = (binary_expression "puVar34 + -(int)(local_d4 + 4)" identifier + (unary_expression "-(int)(local_d4 + 4)" - (cast_expression "(int)(local_d4 + 4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_d4 + 4)" ( (binary_expression "local_d4 + 4" identifier + number_literal) )))))) , (binary_expression "(uchar *)0x7 < puVar34 + -1" (cast_expression "(uchar *)0x7" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar34 + -1" identifier + number_literal))) ))) )) (goto_statement "goto LAB_00063219;" goto statement_identifier ;)))) (expression_statement "eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34);" (assignment_expression "eVar44 = (**in_stack_fffffef4)(local_d4 + 4,(int)puVar34)" identifier = (call_expression "(**in_stack_fffffef4)(local_d4 + 4,(int)puVar34)" (parenthesized_expression "(**in_stack_fffffef4)" ( (pointer_expression "**in_stack_fffffef4" * (pointer_expression "*in_stack_fffffef4" * identifier)) )) (argument_list "(local_d4 + 4,(int)puVar34)" ( (binary_expression "local_d4 + 4" identifier + number_literal) , (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "uVar35 = (uint)eVar44;" (assignment_expression "uVar35 = (uint)eVar44" identifier = (cast_expression "(uint)eVar44" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pcVar14 = (char *)puVar34;" (assignment_expression "pcVar14 = (char *)puVar34" identifier = (cast_expression "(char *)puVar34" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar35 != 0) {\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }" if (parenthesized_expression "(uVar35 != 0)" ( (binary_expression "uVar35 != 0" identifier != number_literal) )) (compound_statement "{\n            pcVar14 = section->name;\n            pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }" { (expression_statement "pcVar14 = section->name;" (assignment_expression "pcVar14 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar11 = "The %s section contains unsupported offset entry count: %d.\n";" (assignment_expression "pcVar11 = "The %s section contains unsupported offset entry count: %d.\n"" identifier = (string_literal ""The %s section contains unsupported offset entry count: %d.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00063189;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00063219:\n        local_d4 = local_d4 + (8 - (int)puVar1);" statement_identifier : (expression_statement "local_d4 = local_d4 + (8 - (int)puVar1);" (assignment_expression "local_d4 = local_d4 + (8 - (int)puVar1)" identifier = (binary_expression "local_d4 + (8 - (int)puVar1)" identifier + (parenthesized_expression "(8 - (int)puVar1)" ( (binary_expression "8 - (int)puVar1" number_literal - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "local_d0 = (int)local_d4 >> 0x1f;" (assignment_expression "local_d0 = (int)local_d4 >> 0x1f" identifier = (binary_expression "(int)local_d4 >> 0x1f" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (goto_statement "goto LAB_0006322d;" goto statement_identifier ;) })) (expression_statement "uVar35 = (uint)(ushort)eVar44;" (assignment_expression "uVar35 = (uint)(ushort)eVar44" identifier = (cast_expression "(uint)(ushort)eVar44" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)eVar44" ( (type_descriptor "ushort" type_identifier) ) identifier))) ;) }) (else_clause "else {\n      if ((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)) goto LAB_000630f8;\nLAB_00063148:\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        in_stack_fffffef4 = &byte_get;\n        puVar12 = (uchar *)0x2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar35 = 0;\n    }" else (compound_statement "{\n      if ((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)) goto LAB_000630f8;\nLAB_00063148:\n      puVar50 = local_d4 + 2;\n      if (puVar50 < puVar34) {\n        in_stack_fffffef4 = &byte_get;\n        puVar12 = (uchar *)0x2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar35 = 0;\n    }" { (if_statement "if ((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)) goto LAB_000630f8;" if (parenthesized_expression "((puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8))" ( (binary_expression "(puVar1 < puVar34) && (puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)" (parenthesized_expression "(puVar1 < puVar34)" ( (binary_expression "puVar1 < puVar34" identifier < identifier) )) && (parenthesized_expression "(puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8)" ( (comma_expression "puVar12 = puVar2, puVar2 + -1 < (uchar *)0x8" (assignment_expression "puVar12 = puVar2" identifier = identifier) , (binary_expression "puVar2 + -1 < (uchar *)0x8" (binary_expression "puVar2 + -1" identifier + number_literal) < (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000630f8;" goto statement_identifier ;)) (labeled_statement "LAB_00063148:\n      puVar50 = local_d4 + 2;" statement_identifier : (expression_statement "puVar50 = local_d4 + 2;" (assignment_expression "puVar50 = local_d4 + 2" identifier = (binary_expression "local_d4 + 2" identifier + number_literal)) ;)) (if_statement "if (puVar50 < puVar34) {\n        in_stack_fffffef4 = &byte_get;\n        puVar12 = (uchar *)0x2;\n        goto LAB_0006315d;\n      }" if (parenthesized_expression "(puVar50 < puVar34)" ( (binary_expression "puVar50 < puVar34" identifier < identifier) )) (compound_statement "{\n        in_stack_fffffef4 = &byte_get;\n        puVar12 = (uchar *)0x2;\n        goto LAB_0006315d;\n      }" { (expression_statement "in_stack_fffffef4 = &byte_get;" (assignment_expression "in_stack_fffffef4 = &byte_get" identifier = (pointer_expression "&byte_get" & identifier)) ;) (expression_statement "puVar12 = (uchar *)0x2;" (assignment_expression "puVar12 = (uchar *)0x2" identifier = (cast_expression "(uchar *)0x2" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006315d;" goto statement_identifier ;) })) (labeled_statement "LAB_00063137:\n      uVar35 = 0;" statement_identifier : (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;)) }))) (expression_statement "pcVar14 = section->name;" (assignment_expression "pcVar14 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar11 = "The %s section contains corrupt or unsupported version number: %d.\n";" (assignment_expression "pcVar11 = "The %s section contains corrupt or unsupported version number: %d.\n"" identifier = (string_literal ""The %s section contains corrupt or unsupported version number: %d.\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00063189:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);" statement_identifier : (expression_statement "pcVar11 = (char *)dcgettext(0,pcVar11,5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,pcVar11,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar11,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar11,5)" identifier (argument_list "(0,pcVar11,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "warn(pcVar11,pcVar14,uVar35);" (call_expression "warn(pcVar11,pcVar14,uVar35)" identifier (argument_list "(pcVar11,pcVar14,uVar35)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "local_d4 = (uchar *)0x0;" (assignment_expression "local_d4 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0006322d:\n  uVar35 = load_debug_info(in_stack_fffffef4);" statement_identifier : (expression_statement "uVar35 = load_debug_info(in_stack_fffffef4);" (assignment_expression "uVar35 = load_debug_info(in_stack_fffffef4)" identifier = (call_expression "load_debug_info(in_stack_fffffef4)" identifier (argument_list "(in_stack_fffffef4)" ( identifier )))) ;)) (if_statement "if (uVar35 == 0) {\n    pcVar11 = section->name;\n    uVar35 = 5;\n    pcVar14 = (char *)dcgettext(0,\n                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                                ,5);\nLAB_0006500d:\n    warn(pcVar14,pcVar11,uVar35);\n    return 0;\n  }" if (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar11 = section->name;\n    uVar35 = 5;\n    pcVar14 = (char *)dcgettext(0,\n                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                                ,5);\nLAB_0006500d:\n    warn(pcVar14,pcVar11,uVar35);\n    return 0;\n  }" { (expression_statement "pcVar11 = section->name;" (assignment_expression "pcVar11 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "uVar35 = 5;" (assignment_expression "uVar35 = 5" identifier = number_literal) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                                ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                                ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                                ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                                ,5)" identifier (argument_list "(0,\n                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                                ,5)" ( number_literal , (string_literal ""Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (labeled_statement "LAB_0006500d:\n    warn(pcVar14,pcVar11,uVar35);" statement_identifier : (expression_statement "warn(pcVar14,pcVar11,uVar35);" (call_expression "warn(pcVar14,pcVar11,uVar35)" identifier (argument_list "(pcVar14,pcVar11,uVar35)" ( identifier , identifier , identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (num_debug_info_entries == 0) {\n    local_dc._0_4_ = 0;\n    local_8c = (uchar *)0x0;\n    local_74 = (dwarf_section *)0x1;\n    local_cc = 0;\n  }\n  else {\n    bVar41 = false;\n    local_f0 = (uchar *)0x0;\n    local_8c = (uchar *)0x0;\n    ppdVar15 = &debug_information->loc_offsets;\n    local_74 = (dwarf_section *)0x1;\n    local_f4 = (uchar *)0x0;\n    uVar35 = 0;\n    local_dc._0_4_ = 0;\n    do {\n      uVar40 = (uint)ppdVar15[3];\n      if ((uint)local_dc < uVar40) {\n        local_dc._0_4_ = uVar40;\n      }\n      if ((uVar40 != 0) && (local_74 != (dwarf_section *)0x0)) {\n        if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }\n        uVar16 = (uint)!bVar41;\n        if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      ppdVar15 = ppdVar15 + 0x14;\n    } while ((uchar *)num_debug_info_entries != local_f0);\n    local_cc = (int)local_8c * 0x50;\n    if (bVar41) goto LAB_00063484;\n  }" if (parenthesized_expression "(num_debug_info_entries == 0)" ( (binary_expression "num_debug_info_entries == 0" identifier == number_literal) )) (compound_statement "{\n    local_dc._0_4_ = 0;\n    local_8c = (uchar *)0x0;\n    local_74 = (dwarf_section *)0x1;\n    local_cc = 0;\n  }" { (expression_statement "local_dc._0_4_ = 0;" (assignment_expression "local_dc._0_4_ = 0" (field_expression "local_dc._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_8c = (uchar *)0x0;" (assignment_expression "local_8c = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_74 = (dwarf_section *)0x1;" (assignment_expression "local_74 = (dwarf_section *)0x1" identifier = (cast_expression "(dwarf_section *)0x1" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) }) (else_clause "else {\n    bVar41 = false;\n    local_f0 = (uchar *)0x0;\n    local_8c = (uchar *)0x0;\n    ppdVar15 = &debug_information->loc_offsets;\n    local_74 = (dwarf_section *)0x1;\n    local_f4 = (uchar *)0x0;\n    uVar35 = 0;\n    local_dc._0_4_ = 0;\n    do {\n      uVar40 = (uint)ppdVar15[3];\n      if ((uint)local_dc < uVar40) {\n        local_dc._0_4_ = uVar40;\n      }\n      if ((uVar40 != 0) && (local_74 != (dwarf_section *)0x0)) {\n        if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }\n        uVar16 = (uint)!bVar41;\n        if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      ppdVar15 = ppdVar15 + 0x14;\n    } while ((uchar *)num_debug_info_entries != local_f0);\n    local_cc = (int)local_8c * 0x50;\n    if (bVar41) goto LAB_00063484;\n  }" else (compound_statement "{\n    bVar41 = false;\n    local_f0 = (uchar *)0x0;\n    local_8c = (uchar *)0x0;\n    ppdVar15 = &debug_information->loc_offsets;\n    local_74 = (dwarf_section *)0x1;\n    local_f4 = (uchar *)0x0;\n    uVar35 = 0;\n    local_dc._0_4_ = 0;\n    do {\n      uVar40 = (uint)ppdVar15[3];\n      if ((uint)local_dc < uVar40) {\n        local_dc._0_4_ = uVar40;\n      }\n      if ((uVar40 != 0) && (local_74 != (dwarf_section *)0x0)) {\n        if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }\n        uVar16 = (uint)!bVar41;\n        if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      ppdVar15 = ppdVar15 + 0x14;\n    } while ((uchar *)num_debug_info_entries != local_f0);\n    local_cc = (int)local_8c * 0x50;\n    if (bVar41) goto LAB_00063484;\n  }" { (expression_statement "bVar41 = false;" (assignment_expression "bVar41 = false" identifier = false) ;) (expression_statement "local_f0 = (uchar *)0x0;" (assignment_expression "local_f0 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = (uchar *)0x0;" (assignment_expression "local_8c = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppdVar15 = &debug_information->loc_offsets;" (assignment_expression "ppdVar15 = &debug_information->loc_offsets" identifier = (pointer_expression "&debug_information->loc_offsets" & (field_expression "debug_information->loc_offsets" identifier -> field_identifier))) ;) (expression_statement "local_74 = (dwarf_section *)0x1;" (assignment_expression "local_74 = (dwarf_section *)0x1" identifier = (cast_expression "(dwarf_section *)0x1" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_f4 = (uchar *)0x0;" (assignment_expression "local_f4 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;) (expression_statement "local_dc._0_4_ = 0;" (assignment_expression "local_dc._0_4_ = 0" (field_expression "local_dc._0_4_" identifier . field_identifier) = number_literal) ;) (do_statement "do {\n      uVar40 = (uint)ppdVar15[3];\n      if ((uint)local_dc < uVar40) {\n        local_dc._0_4_ = uVar40;\n      }\n      if ((uVar40 != 0) && (local_74 != (dwarf_section *)0x0)) {\n        if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }\n        uVar16 = (uint)!bVar41;\n        if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      ppdVar15 = ppdVar15 + 0x14;\n    } while ((uchar *)num_debug_info_entries != local_f0);" do (compound_statement "{\n      uVar40 = (uint)ppdVar15[3];\n      if ((uint)local_dc < uVar40) {\n        local_dc._0_4_ = uVar40;\n      }\n      if ((uVar40 != 0) && (local_74 != (dwarf_section *)0x0)) {\n        if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }\n        uVar16 = (uint)!bVar41;\n        if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      ppdVar15 = ppdVar15 + 0x14;\n    }" { (expression_statement "uVar40 = (uint)ppdVar15[3];" (assignment_expression "uVar40 = (uint)ppdVar15[3]" identifier = (cast_expression "(uint)ppdVar15[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppdVar15[3]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)local_dc < uVar40) {\n        local_dc._0_4_ = uVar40;\n      }" if (parenthesized_expression "((uint)local_dc < uVar40)" ( (binary_expression "(uint)local_dc < uVar40" (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) )) (compound_statement "{\n        local_dc._0_4_ = uVar40;\n      }" { (expression_statement "local_dc._0_4_ = uVar40;" (assignment_expression "local_dc._0_4_ = uVar40" (field_expression "local_dc._0_4_" identifier . field_identifier) = identifier) ;) })) (if_statement "if ((uVar40 != 0) && (local_74 != (dwarf_section *)0x0)) {\n        if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }\n        uVar16 = (uint)!bVar41;\n        if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }\n      }" if (parenthesized_expression "((uVar40 != 0) && (local_74 != (dwarf_section *)0x0))" ( (binary_expression "(uVar40 != 0) && (local_74 != (dwarf_section *)0x0)" (parenthesized_expression "(uVar40 != 0)" ( (binary_expression "uVar40 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_74 != (dwarf_section *)0x0)" ( (binary_expression "local_74 != (dwarf_section *)0x0" identifier != (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }\n        uVar16 = (uint)!bVar41;\n        if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }\n      }" { (if_statement "if (!bVar41) {\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }" if (parenthesized_expression "(!bVar41)" ( (unary_expression "!bVar41" ! identifier) )) (compound_statement "{\n          uVar35 = (uint)**ppdVar15;\n          local_f4 = (uchar *)*ppdVar15[1];\n          local_8c = local_f0;\n        }" { (expression_statement "uVar35 = (uint)**ppdVar15;" (assignment_expression "uVar35 = (uint)**ppdVar15" identifier = (binary_expression "(uint)**ppdVar15" (parenthesized_expression "(uint)" ( identifier )) * (pointer_expression "*ppdVar15" * identifier))) ;) (expression_statement "local_f4 = (uchar *)*ppdVar15[1];" (assignment_expression "local_f4 = (uchar *)*ppdVar15[1]" identifier = (cast_expression "(uchar *)*ppdVar15[1]" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppdVar15[1]" * (subscript_expression "ppdVar15[1]" identifier [ number_literal ])))) ;) (expression_statement "local_8c = local_f0;" (assignment_expression "local_8c = local_f0" identifier = identifier) ;) })) (expression_statement "uVar16 = (uint)!bVar41;" (assignment_expression "uVar16 = (uint)!bVar41" identifier = (cast_expression "(uint)!bVar41" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!bVar41" ! identifier))) ;) (if_statement "if (uVar16 < uVar40) {\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }\n        else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }" if (parenthesized_expression "(uVar16 < uVar40)" ( (binary_expression "uVar16 < uVar40" identifier < identifier) )) (compound_statement "{\n          pdVar3 = *ppdVar15;\n          uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n          uVar22 = uVar35;\n          if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }\n          local_74 = (dwarf_section *)0x0;\n          bVar41 = true;\n          uVar35 = uVar22;\n        }" { (expression_statement "pdVar3 = *ppdVar15;" (assignment_expression "pdVar3 = *ppdVar15" identifier = (pointer_expression "*ppdVar15" * identifier)) ;) (expression_statement "uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);" (assignment_expression "uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4)" identifier = (pointer_expression "*(uint *)((int)pdVar3 + uVar16 * 8 + 4)" * (cast_expression "(uint *)((int)pdVar3 + uVar16 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar3 + uVar16 * 8 + 4)" ( (binary_expression "(int)pdVar3 + uVar16 * 8 + 4" (binary_expression "(int)pdVar3 + uVar16 * 8" (cast_expression "(int)pdVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar16 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar22 = uVar35;" (assignment_expression "uVar22 = uVar35" identifier = identifier) ;) (if_statement "if (((uint)pdVar3[uVar16] < uVar35) <= uVar23) {\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }" if (parenthesized_expression "(((uint)pdVar3[uVar16] < uVar35) <= uVar23)" ( (binary_expression "((uint)pdVar3[uVar16] < uVar35) <= uVar23" (parenthesized_expression "((uint)pdVar3[uVar16] < uVar35)" ( (binary_expression "(uint)pdVar3[uVar16] < uVar35" (cast_expression "(uint)pdVar3[uVar16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pdVar3[uVar16]" identifier [ identifier ])) < identifier) )) <= identifier) )) (compound_statement "{\n            uVar21 = (uint)pdVar3[uVar16];\n            do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);\n          }" { (expression_statement "uVar21 = (uint)pdVar3[uVar16];" (assignment_expression "uVar21 = (uint)pdVar3[uVar16]" identifier = (cast_expression "(uint)pdVar3[uVar16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pdVar3[uVar16]" identifier [ identifier ]))) ;) (do_statement "do {\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            } while (((uint)pdVar3[uVar16] < uVar35) <= uVar23);" do (compound_statement "{\n              uVar35 = uVar21;\n              uVar21 = (uint)ppdVar15[1][uVar16];\n              if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;\n              uVar16 = uVar16 + 1;\n              local_f4 = (uchar *)uVar21;\n              if (uVar40 == uVar16) goto LAB_00063450;\n              uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);\n              uVar22 = uVar35;\n              uVar21 = (uint)pdVar3[uVar16];\n            }" { (expression_statement "uVar35 = uVar21;" (assignment_expression "uVar35 = uVar21" identifier = identifier) ;) (expression_statement "uVar21 = (uint)ppdVar15[1][uVar16];" (assignment_expression "uVar21 = (uint)ppdVar15[1][uVar16]" identifier = (cast_expression "(uint)ppdVar15[1][uVar16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppdVar15[1][uVar16]" (subscript_expression "ppdVar15[1]" identifier [ number_literal ]) [ identifier ]))) ;) (if_statement "if ((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))) break;" if (parenthesized_expression "((uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4)))" ( (binary_expression "(uVar23 == 0 && uVar22 == uVar35) &&\n                 (*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))" (parenthesized_expression "(uVar23 == 0 && uVar22 == uVar35)" ( (binary_expression "uVar23 == 0 && uVar22 == uVar35" (binary_expression "uVar23 == 0" identifier == number_literal) && (binary_expression "uVar22 == uVar35" identifier == identifier)) )) && (parenthesized_expression "(*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4))" ( (binary_expression "*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4) < (uint)(uVar21 < local_f4)" (pointer_expression "*(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4)" * (cast_expression "(uint *)((int)ppdVar15[1] + uVar16 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppdVar15[1] + uVar16 * 8 + 4)" ( (binary_expression "(int)ppdVar15[1] + uVar16 * 8 + 4" (binary_expression "(int)ppdVar15[1] + uVar16 * 8" (cast_expression "(int)ppdVar15[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppdVar15[1]" identifier [ number_literal ])) + (binary_expression "uVar16 * 8" identifier * number_literal)) + number_literal) )))) < (call_expression "(uint)(uVar21 < local_f4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 < local_f4)" ( (binary_expression "uVar21 < local_f4" identifier < identifier) )))) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) (expression_statement "local_f4 = (uchar *)uVar21;" (assignment_expression "local_f4 = (uchar *)uVar21" identifier = (cast_expression "(uchar *)uVar21" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar40 == uVar16) goto LAB_00063450;" if (parenthesized_expression "(uVar40 == uVar16)" ( (binary_expression "uVar40 == uVar16" identifier == identifier) )) (goto_statement "goto LAB_00063450;" goto statement_identifier ;)) (expression_statement "uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4);" (assignment_expression "uVar23 = *(uint *)((int)pdVar3 + uVar16 * 8 + 4)" identifier = (pointer_expression "*(uint *)((int)pdVar3 + uVar16 * 8 + 4)" * (cast_expression "(uint *)((int)pdVar3 + uVar16 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar3 + uVar16 * 8 + 4)" ( (binary_expression "(int)pdVar3 + uVar16 * 8 + 4" (binary_expression "(int)pdVar3 + uVar16 * 8" (cast_expression "(int)pdVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar16 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar22 = uVar35;" (assignment_expression "uVar22 = uVar35" identifier = identifier) ;) (expression_statement "uVar21 = (uint)pdVar3[uVar16];" (assignment_expression "uVar21 = (uint)pdVar3[uVar16]" identifier = (cast_expression "(uint)pdVar3[uVar16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pdVar3[uVar16]" identifier [ identifier ]))) ;) }) while (parenthesized_expression "(((uint)pdVar3[uVar16] < uVar35) <= uVar23)" ( (binary_expression "((uint)pdVar3[uVar16] < uVar35) <= uVar23" (parenthesized_expression "((uint)pdVar3[uVar16] < uVar35)" ( (binary_expression "(uint)pdVar3[uVar16] < uVar35" (cast_expression "(uint)pdVar3[uVar16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pdVar3[uVar16]" identifier [ identifier ])) < identifier) )) <= identifier) )) ;) })) (expression_statement "local_74 = (dwarf_section *)0x0;" (assignment_expression "local_74 = (dwarf_section *)0x0" identifier = (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;) (expression_statement "uVar35 = uVar22;" (assignment_expression "uVar35 = uVar22" identifier = identifier) ;) }) (else_clause "else {\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }" else (compound_statement "{\nLAB_00063450:\n          local_74 = (dwarf_section *)0x1;\n          bVar41 = true;\n        }" { (labeled_statement "LAB_00063450:\n          local_74 = (dwarf_section *)0x1;" statement_identifier : (expression_statement "local_74 = (dwarf_section *)0x1;" (assignment_expression "local_74 = (dwarf_section *)0x1" identifier = (cast_expression "(dwarf_section *)0x1" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;) }))) })) (expression_statement "local_f0 = local_f0 + 1;" (assignment_expression "local_f0 = local_f0 + 1" identifier = (binary_expression "local_f0 + 1" identifier + number_literal)) ;) (expression_statement "ppdVar15 = ppdVar15 + 0x14;" (assignment_expression "ppdVar15 = ppdVar15 + 0x14" identifier = (binary_expression "ppdVar15 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "((uchar *)num_debug_info_entries != local_f0)" ( (binary_expression "(uchar *)num_debug_info_entries != local_f0" (cast_expression "(uchar *)num_debug_info_entries" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) (expression_statement "local_cc = (int)local_8c * 0x50;" (assignment_expression "local_cc = (int)local_8c * 0x50" identifier = (binary_expression "(int)local_8c * 0x50" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (if_statement "if (bVar41) goto LAB_00063484;" if (parenthesized_expression "(bVar41)" ( identifier )) (goto_statement "goto LAB_00063484;" goto statement_identifier ;)) }))) (expression_statement "pcVar14 = "No location lists in .debug_info section!\n";" (assignment_expression "pcVar14 = "No location lists in .debug_info section!\n"" identifier = (string_literal ""No location lists in .debug_info section!\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"No location lists in .debug_info section!\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"No location lists in .debug_info section!\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"No location lists in .debug_info section!\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"No location lists in .debug_info section!\n",5)" identifier (argument_list "(0,"No location lists in .debug_info section!\n",5)" ( number_literal , (string_literal ""No location lists in .debug_info section!\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar18);" (call_expression "error(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (labeled_statement "LAB_00063484:\n  if (((*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0) &&\n      (puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50)) &&\n     (puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc),\n     local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49)) {\n    pcVar18 = dwarf_vmatoa_1("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50);\n    pcVar14 = section->name;\n    pcVar29 = (char *)dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(pcVar29,pcVar14,pcVar18);\n  }" statement_identifier : (if_statement "if (((*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0) &&\n      (puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50)) &&\n     (puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc),\n     local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49)) {\n    pcVar18 = dwarf_vmatoa_1("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50);\n    pcVar14 = section->name;\n    pcVar29 = (char *)dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(pcVar29,pcVar14,pcVar18);\n  }" if (parenthesized_expression "(((*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0) &&\n      (puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50)) &&\n     (puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc),\n     local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49))" ( (binary_expression "((*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0) &&\n      (puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50)) &&\n     (puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc),\n     local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49)" (parenthesized_expression "((*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0) &&\n      (puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50))" ( (binary_expression "(*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0) &&\n      (puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50)" (parenthesized_expression "(*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0)" ( (binary_expression "*(int *)((int)&debug_information->num_loc_offsets + local_cc) != 0" (pointer_expression "*(int *)((int)&debug_information->num_loc_offsets + local_cc)" * (cast_expression "(int *)((int)&debug_information->num_loc_offsets + local_cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&debug_information->num_loc_offsets + local_cc)" ( (binary_expression "(int)&debug_information->num_loc_offsets + local_cc" (cast_expression "(int)&debug_information->num_loc_offsets" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&debug_information->num_loc_offsets" & (field_expression "debug_information->num_loc_offsets" identifier -> field_identifier))) + identifier) )))) != number_literal) )) && (parenthesized_expression "(puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50)" ( (comma_expression "puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc),\n      puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50" (assignment_expression "puVar49 = *(uint **)((int)&debug_information->loc_offsets + local_cc)" identifier = (pointer_expression "*(uint **)((int)&debug_information->loc_offsets + local_cc)" * (cast_expression "(uint **)((int)&debug_information->loc_offsets + local_cc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&debug_information->loc_offsets + local_cc)" ( (binary_expression "(int)&debug_information->loc_offsets + local_cc" (cast_expression "(int)&debug_information->loc_offsets" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&debug_information->loc_offsets" & (field_expression "debug_information->loc_offsets" identifier -> field_identifier))) + identifier) ))))) , (comma_expression "puVar50 = (uchar *)*puVar49, local_d0 != puVar49[1] || local_d4 != puVar50" (assignment_expression "puVar50 = (uchar *)*puVar49" identifier = (cast_expression "(uchar *)*puVar49" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar49" * identifier))) , (binary_expression "local_d0 != puVar49[1] || local_d4 != puVar50" (binary_expression "local_d0 != puVar49[1]" identifier != (subscript_expression "puVar49[1]" identifier [ number_literal ])) || (binary_expression "local_d4 != puVar50" identifier != identifier)))) ))) )) && (parenthesized_expression "(puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc),\n     local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49)" ( (comma_expression "puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc),\n     local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49" (assignment_expression "puVar49 = *(uint **)((int)&debug_information->loc_views + local_cc)" identifier = (pointer_expression "*(uint **)((int)&debug_information->loc_views + local_cc)" * (cast_expression "(uint **)((int)&debug_information->loc_views + local_cc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&debug_information->loc_views + local_cc)" ( (binary_expression "(int)&debug_information->loc_views + local_cc" (cast_expression "(int)&debug_information->loc_views" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&debug_information->loc_views" & (field_expression "debug_information->loc_views" identifier -> field_identifier))) + identifier) ))))) , (binary_expression "local_d0 != puVar49[1] || local_d4 != (uchar *)*puVar49" (binary_expression "local_d0 != puVar49[1]" identifier != (subscript_expression "puVar49[1]" identifier [ number_literal ])) || (binary_expression "local_d4 != (uchar *)*puVar49" identifier != (cast_expression "(uchar *)*puVar49" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar49" * identifier))))) ))) )) (compound_statement "{\n    pcVar18 = dwarf_vmatoa_1("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50);\n    pcVar14 = section->name;\n    pcVar29 = (char *)dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(pcVar29,pcVar14,pcVar18);\n  }" { (expression_statement "pcVar18 = dwarf_vmatoa_1("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50);" (assignment_expression "pcVar18 = dwarf_vmatoa_1("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50)" identifier (argument_list "("x",ZEXT48(pcVar14) << 0x20,(uint)puVar50)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(pcVar14) << 0x20" (call_expression "ZEXT48(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) << number_literal) , (cast_expression "(uint)puVar50" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar14 = section->name;" (assignment_expression "pcVar14 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar29 = (char *)dcgettext(0,"Location lists in %s section start at 0x%s\n",5);" (assignment_expression "pcVar29 = (char *)dcgettext(0,"Location lists in %s section start at 0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Location lists in %s section start at 0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Location lists in %s section start at 0x%s\n",5)" identifier (argument_list "(0,"Location lists in %s section start at 0x%s\n",5)" ( number_literal , (string_literal ""Location lists in %s section start at 0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar29,pcVar14,pcVar18);" (call_expression "warn(pcVar29,pcVar14,pcVar18)" identifier (argument_list "(pcVar29,pcVar14,pcVar18)" ( identifier , identifier , identifier ))) ;) }))) (expression_statement "local_5c = (void *)0x0;" (assignment_expression "local_5c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "section_1 = local_74;" (assignment_expression "section_1 = local_74" identifier = identifier) ;) (if_statement "if (local_74 == (dwarf_section *)0x0) {\n    local_5c = xcmalloc((uint)local_dc,4);\n    section_1 = extraout_ECX;\n  }" if (parenthesized_expression "(local_74 == (dwarf_section *)0x0)" ( (binary_expression "local_74 == (dwarf_section *)0x0" identifier == (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_5c = xcmalloc((uint)local_dc,4);\n    section_1 = extraout_ECX;\n  }" { (expression_statement "local_5c = xcmalloc((uint)local_dc,4);" (assignment_expression "local_5c = xcmalloc((uint)local_dc,4)" identifier = (call_expression "xcmalloc((uint)local_dc,4)" identifier (argument_list "((uint)local_dc,4)" ( (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier) , number_literal )))) ;) (expression_statement "section_1 = extraout_ECX;" (assignment_expression "section_1 = extraout_ECX" identifier = identifier) ;) })) (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 ))) ;) (expression_statement "bVar17 = reloc_at(section,0);" (assignment_expression "bVar17 = reloc_at(section,0)" identifier = (call_expression "reloc_at(section,0)" identifier (argument_list "(section,0)" ( identifier , number_literal )))) ;) (if_statement "if (bVar17 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }" if (parenthesized_expression "(bVar17 != 0)" ( (binary_expression "bVar17 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }" { (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" identifier (argument_list "(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" ( number_literal , (string_literal "" Warning: This section has relocations - addresses seen here may not be accurate.\n\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "pcVar14 = "    Offset   Begin            End              Expression\n";" (assignment_expression "pcVar14 = "    Offset   Begin            End              Expression\n"" identifier = (string_literal ""    Offset   Begin            End              Expression\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    Offset   Begin            End              Expression\n",5)" identifier (argument_list "(0,"    Offset   Begin            End              Expression\n",5)" ( number_literal , (string_literal ""    Offset   Begin            End              Expression\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18);" (call_expression "printf(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "puVar8 = PTR_stdout_000b3fd8;" (assignment_expression "puVar8 = PTR_stdout_000b3fd8" identifier = identifier) ;) (if_statement "if (local_8c < num_debug_info_entries) {\n    bVar41 = false;\n    pdVar19 = debug_information;\n    do {\n      pdVar32 = pdVar19 + (int)local_8c;\n      puVar34 = (uchar *)pdVar32->num_loc_offsets;\n      if (local_74 == (dwarf_section *)0x0) {\n        if (puVar34 != (uchar *)0x0) {\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }\n        loc_offsets = pdVar32->loc_offsets;\n        loc_views = pdVar32->loc_views;\n        puVar50 = (uchar *)0x4;\n        pcVar14 = (char *)puVar34;\n        qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);\n        pdVar32 = debug_information + (int)local_8c;\n        puVar34 = (uchar *)pdVar32->num_loc_offsets;\n        pdVar19 = debug_information;\n      }\n      bVar42 = true;\n      local_f0 = (uchar *)0x0;\n      if (puVar34 != (uchar *)0x0) {\nLAB_00063757:\n        pdVar3 = pdVar32->loc_views;\n        pdVar4 = pdVar32->loc_offsets;\n        if (local_74 == (dwarf_section *)0x0) {\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == (uchar *)0x0) {\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        pcVar18 = *(char **)(pdVar4 + (int)local_f0);\n        local_e8 = (int)local_f0 * 8 + -8;\n        uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);\n        local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);\n        puVar34 = *(uchar **)(pdVar3 + (int)local_f0);\nLAB_0006389e:\n        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < num_debug_info_entries);\n  }" if (parenthesized_expression "(local_8c < num_debug_info_entries)" ( (binary_expression "local_8c < num_debug_info_entries" identifier < identifier) )) (compound_statement "{\n    bVar41 = false;\n    pdVar19 = debug_information;\n    do {\n      pdVar32 = pdVar19 + (int)local_8c;\n      puVar34 = (uchar *)pdVar32->num_loc_offsets;\n      if (local_74 == (dwarf_section *)0x0) {\n        if (puVar34 != (uchar *)0x0) {\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }\n        loc_offsets = pdVar32->loc_offsets;\n        loc_views = pdVar32->loc_views;\n        puVar50 = (uchar *)0x4;\n        pcVar14 = (char *)puVar34;\n        qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);\n        pdVar32 = debug_information + (int)local_8c;\n        puVar34 = (uchar *)pdVar32->num_loc_offsets;\n        pdVar19 = debug_information;\n      }\n      bVar42 = true;\n      local_f0 = (uchar *)0x0;\n      if (puVar34 != (uchar *)0x0) {\nLAB_00063757:\n        pdVar3 = pdVar32->loc_views;\n        pdVar4 = pdVar32->loc_offsets;\n        if (local_74 == (dwarf_section *)0x0) {\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == (uchar *)0x0) {\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        pcVar18 = *(char **)(pdVar4 + (int)local_f0);\n        local_e8 = (int)local_f0 * 8 + -8;\n        uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);\n        local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);\n        puVar34 = *(uchar **)(pdVar3 + (int)local_f0);\nLAB_0006389e:\n        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < num_debug_info_entries);\n  }" { (expression_statement "bVar41 = false;" (assignment_expression "bVar41 = false" identifier = false) ;) (expression_statement "pdVar19 = debug_information;" (assignment_expression "pdVar19 = debug_information" identifier = identifier) ;) (do_statement "do {\n      pdVar32 = pdVar19 + (int)local_8c;\n      puVar34 = (uchar *)pdVar32->num_loc_offsets;\n      if (local_74 == (dwarf_section *)0x0) {\n        if (puVar34 != (uchar *)0x0) {\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }\n        loc_offsets = pdVar32->loc_offsets;\n        loc_views = pdVar32->loc_views;\n        puVar50 = (uchar *)0x4;\n        pcVar14 = (char *)puVar34;\n        qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);\n        pdVar32 = debug_information + (int)local_8c;\n        puVar34 = (uchar *)pdVar32->num_loc_offsets;\n        pdVar19 = debug_information;\n      }\n      bVar42 = true;\n      local_f0 = (uchar *)0x0;\n      if (puVar34 != (uchar *)0x0) {\nLAB_00063757:\n        pdVar3 = pdVar32->loc_views;\n        pdVar4 = pdVar32->loc_offsets;\n        if (local_74 == (dwarf_section *)0x0) {\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == (uchar *)0x0) {\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        pcVar18 = *(char **)(pdVar4 + (int)local_f0);\n        local_e8 = (int)local_f0 * 8 + -8;\n        uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);\n        local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);\n        puVar34 = *(uchar **)(pdVar3 + (int)local_f0);\nLAB_0006389e:\n        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < num_debug_info_entries);" do (compound_statement "{\n      pdVar32 = pdVar19 + (int)local_8c;\n      puVar34 = (uchar *)pdVar32->num_loc_offsets;\n      if (local_74 == (dwarf_section *)0x0) {\n        if (puVar34 != (uchar *)0x0) {\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }\n        loc_offsets = pdVar32->loc_offsets;\n        loc_views = pdVar32->loc_views;\n        puVar50 = (uchar *)0x4;\n        pcVar14 = (char *)puVar34;\n        qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);\n        pdVar32 = debug_information + (int)local_8c;\n        puVar34 = (uchar *)pdVar32->num_loc_offsets;\n        pdVar19 = debug_information;\n      }\n      bVar42 = true;\n      local_f0 = (uchar *)0x0;\n      if (puVar34 != (uchar *)0x0) {\nLAB_00063757:\n        pdVar3 = pdVar32->loc_views;\n        pdVar4 = pdVar32->loc_offsets;\n        if (local_74 == (dwarf_section *)0x0) {\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == (uchar *)0x0) {\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        pcVar18 = *(char **)(pdVar4 + (int)local_f0);\n        local_e8 = (int)local_f0 * 8 + -8;\n        uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);\n        local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);\n        puVar34 = *(uchar **)(pdVar3 + (int)local_f0);\nLAB_0006389e:\n        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    }" { (expression_statement "pdVar32 = pdVar19 + (int)local_8c;" (assignment_expression "pdVar32 = pdVar19 + (int)local_8c" identifier = (binary_expression "pdVar19 + (int)local_8c" identifier + (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar34 = (uchar *)pdVar32->num_loc_offsets;" (assignment_expression "puVar34 = (uchar *)pdVar32->num_loc_offsets" identifier = (cast_expression "(uchar *)pdVar32->num_loc_offsets" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pdVar32->num_loc_offsets" identifier -> field_identifier))) ;) (if_statement "if (local_74 == (dwarf_section *)0x0) {\n        if (puVar34 != (uchar *)0x0) {\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }\n        loc_offsets = pdVar32->loc_offsets;\n        loc_views = pdVar32->loc_views;\n        puVar50 = (uchar *)0x4;\n        pcVar14 = (char *)puVar34;\n        qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);\n        pdVar32 = debug_information + (int)local_8c;\n        puVar34 = (uchar *)pdVar32->num_loc_offsets;\n        pdVar19 = debug_information;\n      }" if (parenthesized_expression "(local_74 == (dwarf_section *)0x0)" ( (binary_expression "local_74 == (dwarf_section *)0x0" identifier == (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (puVar34 != (uchar *)0x0) {\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }\n        loc_offsets = pdVar32->loc_offsets;\n        loc_views = pdVar32->loc_views;\n        puVar50 = (uchar *)0x4;\n        pcVar14 = (char *)puVar34;\n        qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);\n        pdVar32 = debug_information + (int)local_8c;\n        puVar34 = (uchar *)pdVar32->num_loc_offsets;\n        pdVar19 = debug_information;\n      }" { (if_statement "if (puVar34 != (uchar *)0x0) {\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }" if (parenthesized_expression "(puVar34 != (uchar *)0x0)" ( (binary_expression "puVar34 != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar50 = (uchar *)0x0;\n          do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);\n        }" { (expression_statement "puVar50 = (uchar *)0x0;" (assignment_expression "puVar50 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          } while (puVar50 < puVar34);" do (compound_statement "{\n            *(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;\n            puVar34 = (uchar *)pdVar32->num_loc_offsets;\n            puVar50 = puVar50 + 1;\n          }" { (expression_statement "*(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50;" (assignment_expression "*(uchar **)((int)local_5c + (int)puVar50 * 4) = puVar50" (pointer_expression "*(uchar **)((int)local_5c + (int)puVar50 * 4)" * (cast_expression "(uchar **)((int)local_5c + (int)puVar50 * 4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_5c + (int)puVar50 * 4)" ( (binary_expression "(int)local_5c + (int)puVar50 * 4" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)puVar50 * 4" (cast_expression "(int)puVar50" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = identifier) ;) (expression_statement "puVar34 = (uchar *)pdVar32->num_loc_offsets;" (assignment_expression "puVar34 = (uchar *)pdVar32->num_loc_offsets" identifier = (cast_expression "(uchar *)pdVar32->num_loc_offsets" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pdVar32->num_loc_offsets" identifier -> field_identifier))) ;) (expression_statement "puVar50 = puVar50 + 1;" (assignment_expression "puVar50 = puVar50 + 1" identifier = (binary_expression "puVar50 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar50 < puVar34)" ( (binary_expression "puVar50 < puVar34" identifier < identifier) )) ;) })) (expression_statement "loc_offsets = pdVar32->loc_offsets;" (assignment_expression "loc_offsets = pdVar32->loc_offsets" identifier = (field_expression "pdVar32->loc_offsets" identifier -> field_identifier)) ;) (expression_statement "loc_views = pdVar32->loc_views;" (assignment_expression "loc_views = pdVar32->loc_views" identifier = (field_expression "pdVar32->loc_views" identifier -> field_identifier)) ;) (expression_statement "puVar50 = (uchar *)0x4;" (assignment_expression "puVar50 = (uchar *)0x4" identifier = (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)puVar34;" (assignment_expression "pcVar14 = (char *)puVar34" identifier = (cast_expression "(char *)puVar34" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar);" (call_expression "qsort(local_5c,(size_t)puVar34,4,loc_offsets_compar)" identifier (argument_list "(local_5c,(size_t)puVar34,4,loc_offsets_compar)" ( identifier , (cast_expression "(size_t)puVar34" ( (type_descriptor "size_t" primitive_type) ) identifier) , number_literal , identifier ))) ;) (expression_statement "pdVar32 = debug_information + (int)local_8c;" (assignment_expression "pdVar32 = debug_information + (int)local_8c" identifier = (binary_expression "debug_information + (int)local_8c" identifier + (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar34 = (uchar *)pdVar32->num_loc_offsets;" (assignment_expression "puVar34 = (uchar *)pdVar32->num_loc_offsets" identifier = (cast_expression "(uchar *)pdVar32->num_loc_offsets" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pdVar32->num_loc_offsets" identifier -> field_identifier))) ;) (expression_statement "pdVar19 = debug_information;" (assignment_expression "pdVar19 = debug_information" identifier = identifier) ;) })) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) (expression_statement "local_f0 = (uchar *)0x0;" (assignment_expression "local_f0 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar34 != (uchar *)0x0) {\nLAB_00063757:\n        pdVar3 = pdVar32->loc_views;\n        pdVar4 = pdVar32->loc_offsets;\n        if (local_74 == (dwarf_section *)0x0) {\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == (uchar *)0x0) {\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        pcVar18 = *(char **)(pdVar4 + (int)local_f0);\n        local_e8 = (int)local_f0 * 8 + -8;\n        uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);\n        local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);\n        puVar34 = *(uchar **)(pdVar3 + (int)local_f0);\nLAB_0006389e:\n        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }" if (parenthesized_expression "(puVar34 != (uchar *)0x0)" ( (binary_expression "puVar34 != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00063757:\n        pdVar3 = pdVar32->loc_views;\n        pdVar4 = pdVar32->loc_offsets;\n        if (local_74 == (dwarf_section *)0x0) {\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == (uchar *)0x0) {\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        pcVar18 = *(char **)(pdVar4 + (int)local_f0);\n        local_e8 = (int)local_f0 * 8 + -8;\n        uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);\n        local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);\n        puVar34 = *(uchar **)(pdVar3 + (int)local_f0);\nLAB_0006389e:\n        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }" { (labeled_statement "LAB_00063757:\n        pdVar3 = pdVar32->loc_views;" statement_identifier : (expression_statement "pdVar3 = pdVar32->loc_views;" (assignment_expression "pdVar3 = pdVar32->loc_views" identifier = (field_expression "pdVar32->loc_views" identifier -> field_identifier)) ;)) (expression_statement "pdVar4 = pdVar32->loc_offsets;" (assignment_expression "pdVar4 = pdVar32->loc_offsets" identifier = (field_expression "pdVar32->loc_offsets" identifier -> field_identifier)) ;) (if_statement "if (local_74 == (dwarf_section *)0x0) {\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }" if (parenthesized_expression "(local_74 == (dwarf_section *)0x0)" ( (binary_expression "local_74 == (dwarf_section *)0x0" identifier == (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);\n          uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);\n          pcVar18 = *(char **)(pdVar4 + (int)local_ec);\n          puVar34 = *(uchar **)(pdVar3 + (int)local_ec);\n          local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);\n          if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar31 = (int)local_ec << 2;\nLAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);\n          puVar36 = puVar1 + (int)pcVar18;\n          local_e4 = pdVar32->base_address;\n          puVar12 = (uchar *)pcVar18;\n          if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }\n          puVar13 = start;\n          if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }\nLAB_000636b8:\n          vstart = local_ec;\n          start = puVar36;\n          if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }\n          if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }\n          goto LAB_000637dc;\n        }" { (expression_statement "local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4);" (assignment_expression "local_ec = *(uchar **)((int)local_5c + (int)local_f0 * 4)" identifier = (pointer_expression "*(uchar **)((int)local_5c + (int)local_f0 * 4)" * (cast_expression "(uchar **)((int)local_5c + (int)local_f0 * 4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_5c + (int)local_f0 * 4)" ( (binary_expression "(int)local_5c + (int)local_f0 * 4" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_f0 * 4" (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4);" (assignment_expression "uVar35 = *(uint *)((int)pdVar4 + (int)local_ec * 8 + 4)" identifier = (pointer_expression "*(uint *)((int)pdVar4 + (int)local_ec * 8 + 4)" * (cast_expression "(uint *)((int)pdVar4 + (int)local_ec * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + (int)local_ec * 8 + 4)" ( (binary_expression "(int)pdVar4 + (int)local_ec * 8 + 4" (binary_expression "(int)pdVar4 + (int)local_ec * 8" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_ec * 8" (cast_expression "(int)local_ec" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "pcVar18 = *(char **)(pdVar4 + (int)local_ec);" (assignment_expression "pcVar18 = *(char **)(pdVar4 + (int)local_ec)" identifier = (pointer_expression "*(char **)(pdVar4 + (int)local_ec)" * (cast_expression "(char **)(pdVar4 + (int)local_ec)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pdVar4 + (int)local_ec)" ( (binary_expression "pdVar4 + (int)local_ec" identifier + (cast_expression "(int)local_ec" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "puVar34 = *(uchar **)(pdVar3 + (int)local_ec);" (assignment_expression "puVar34 = *(uchar **)(pdVar3 + (int)local_ec)" identifier = (pointer_expression "*(uchar **)(pdVar3 + (int)local_ec)" * (cast_expression "(uchar **)(pdVar3 + (int)local_ec)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pdVar3 + (int)local_ec)" ( (binary_expression "pdVar3 + (int)local_ec" identifier + (cast_expression "(int)local_ec" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4);" (assignment_expression "local_f4 = *(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4)" identifier = (pointer_expression "*(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4)" * (cast_expression "(uchar **)((int)pdVar3 + (int)local_ec * 8 + 4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar3 + (int)local_ec * 8 + 4)" ( (binary_expression "(int)pdVar3 + (int)local_ec * 8 + 4" (binary_expression "(int)pdVar3 + (int)local_ec * 8" (cast_expression "(int)pdVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_ec * 8" (cast_expression "(int)local_ec" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (if_statement "if (local_f0 != (uchar *)0x0) {\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }" if (parenthesized_expression "(local_f0 != (uchar *)0x0)" ( (binary_expression "local_f0 != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }" { (expression_statement "local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3;" (assignment_expression "local_e8 = *(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3" identifier = (binary_expression "*(int *)((int)local_5c + (int)local_f0 * 4 + -4) << 3" (pointer_expression "*(int *)((int)local_5c + (int)local_f0 * 4 + -4)" * (cast_expression "(int *)((int)local_5c + (int)local_f0 * 4 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + (int)local_f0 * 4 + -4)" ( (binary_expression "(int)local_5c + (int)local_f0 * 4 + -4" (binary_expression "(int)local_5c + (int)local_f0 * 4" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_f0 * 4" (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) << number_literal)) ;) (goto_statement "goto LAB_0006389e;" goto statement_identifier ;) })) (expression_statement "iVar31 = (int)local_ec << 2;" (assignment_expression "iVar31 = (int)local_ec << 2" identifier = (binary_expression "(int)local_ec << 2" (cast_expression "(int)local_ec" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (labeled_statement "LAB_000635f2:\n          iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);" statement_identifier : (expression_statement "iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31);" (assignment_expression "iVar31 = *(int *)((int)pdVar32->have_frame_base + iVar31)" identifier = (pointer_expression "*(int *)((int)pdVar32->have_frame_base + iVar31)" * (cast_expression "(int *)((int)pdVar32->have_frame_base + iVar31)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar32->have_frame_base + iVar31)" ( (binary_expression "(int)pdVar32->have_frame_base + iVar31" (cast_expression "(int)pdVar32->have_frame_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pdVar32->have_frame_base" identifier -> field_identifier)) + identifier) ))))) ;)) (expression_statement "puVar36 = puVar1 + (int)pcVar18;" (assignment_expression "puVar36 = puVar1 + (int)pcVar18" identifier = (binary_expression "puVar1 + (int)pcVar18" identifier + (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_e4 = pdVar32->base_address;" (assignment_expression "local_e4 = pdVar32->base_address" identifier = (field_expression "pdVar32->base_address" identifier -> field_identifier)) ;) (expression_statement "puVar12 = (uchar *)pcVar18;" (assignment_expression "puVar12 = (uchar *)pcVar18" identifier = (cast_expression "(uchar *)pcVar18" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((uint)local_f4 & (uint)puVar34) == 0xffffffff) {\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }" if (parenthesized_expression "(((uint)local_f4 & (uint)puVar34) == 0xffffffff)" ( (binary_expression "((uint)local_f4 & (uint)puVar34) == 0xffffffff" (parenthesized_expression "((uint)local_f4 & (uint)puVar34)" ( (binary_expression "(uint)local_f4 & (uint)puVar34" (cast_expression "(uint)local_f4" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)puVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) )) == number_literal) )) (compound_statement "{\n            local_ec = (uchar *)0x0;\n            bVar6 = false;\n          }" { (expression_statement "local_ec = (uchar *)0x0;" (assignment_expression "local_ec = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else {\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }" else (compound_statement "{\n            local_ec = puVar1 + (int)puVar34;\n            bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;\n            bVar6 = local_ec != (uchar *)0x0;\n            if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }\n          }" { (expression_statement "local_ec = puVar1 + (int)puVar34;" (assignment_expression "local_ec = puVar1 + (int)puVar34" identifier = (binary_expression "puVar1 + (int)puVar34" identifier + (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0;" (assignment_expression "bVar9 = local_ec < puVar36 && local_ec != (uchar *)0x0" identifier = (binary_expression "local_ec < puVar36 && local_ec != (uchar *)0x0" (binary_expression "local_ec < puVar36" identifier < identifier) && (binary_expression "local_ec != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "bVar6 = local_ec != (uchar *)0x0;" (assignment_expression "bVar6 = local_ec != (uchar *)0x0" identifier = (binary_expression "local_ec != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if ((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)) {\n              start = vstart;\n            }" if (parenthesized_expression "((bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec))" ( (binary_expression "(bVar9) &&\n               (vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)" (parenthesized_expression "(bVar9)" ( identifier )) && (parenthesized_expression "(vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec)" ( (comma_expression "vstart = local_ec,\n               display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec" (assignment_expression "vstart = local_ec" identifier = identifier) , (comma_expression "display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14), bVar6 = bVar9\n               , start == local_ec" (call_expression "display_view_pair_list(section,&vstart,(uint)puVar36,(uchar *)pcVar14)" identifier (argument_list "(section,&vstart,(uint)puVar36,(uchar *)pcVar14)" ( identifier , (pointer_expression "&vstart" & identifier) , (cast_expression "(uint)puVar36" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uchar *)pcVar14" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) , (comma_expression "bVar6 = bVar9\n               , start == local_ec" (assignment_expression "bVar6 = bVar9" identifier = identifier) , (binary_expression "start == local_ec" identifier == identifier)))) ))) )) (compound_statement "{\n              start = vstart;\n            }" { (expression_statement "start = vstart;" (assignment_expression "start = vstart" identifier = identifier) ;) })) }))) (expression_statement "puVar13 = start;" (assignment_expression "puVar13 = start" identifier = identifier) ;) (if_statement "if (bVar41 && bVar42) {\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }" if (parenthesized_expression "(bVar41 && bVar42)" ( (binary_expression "bVar41 && bVar42" identifier && identifier) )) (compound_statement "{\n            if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            pcVar14 = (char *)dcgettext(0,pcVar14,5);\n            puVar50 = (uchar *)pcVar18;\n            warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);\n          }" { (if_statement "if (start < puVar36) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" if (parenthesized_expression "(start < puVar36)" ( (binary_expression "start < puVar36" identifier < identifier) )) (compound_statement "{\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" { (expression_statement "pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";" (assignment_expression "pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"" identifier = (string_literal ""There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" else (compound_statement "{\n              if (start <= puVar36) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" { (if_statement "if (start <= puVar36) goto LAB_000636b8;" if (parenthesized_expression "(start <= puVar36)" ( (binary_expression "start <= puVar36" identifier <= identifier) )) (goto_statement "goto LAB_000636b8;" goto statement_identifier ;)) (expression_statement "pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";" (assignment_expression "pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"" identifier = (string_literal ""There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "pcVar14 = (char *)dcgettext(0,pcVar14,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,pcVar14,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar14,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "puVar50 = (uchar *)pcVar18;" (assignment_expression "puVar50 = (uchar *)pcVar18" identifier = (cast_expression "(uchar *)pcVar18" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18);" (call_expression "warn(pcVar14,(int)puVar13 - (int)puVar1,pcVar18)" identifier (argument_list "(pcVar14,(int)puVar13 - (int)puVar1,pcVar18)" ( identifier , (binary_expression "(int)puVar13 - (int)puVar1" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier ))) ;) })) (labeled_statement "LAB_000636b8:\n          vstart = local_ec;" statement_identifier : (expression_statement "vstart = local_ec;" (assignment_expression "vstart = local_ec" identifier = identifier) ;)) (expression_statement "start = puVar36;" (assignment_expression "start = puVar36" identifier = identifier) ;) (if_statement "if ((puVar12 < puVar2) <= uVar35) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }" if (parenthesized_expression "((puVar12 < puVar2) <= uVar35)" ( (binary_expression "(puVar12 < puVar2) <= uVar35" (parenthesized_expression "(puVar12 < puVar2)" ( (binary_expression "puVar12 < puVar2" identifier < identifier) )) <= identifier) )) (compound_statement "{\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );\nLAB_0006371f:\n            warn(pcVar14);\n            bVar41 = true;\n            pcVar14 = pcVar18;\n            pdVar19 = debug_information;\n            goto LAB_0006373a;\n          }" { (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       );" (assignment_expression "pcVar14 = (char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       )" identifier = (cast_expression "(char *)dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       )" identifier (argument_list "(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5\n                                       )" ( number_literal , (string_literal ""Offset 0x%lx is bigger than .debug_loc section size.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (labeled_statement "LAB_0006371f:\n            warn(pcVar14);" statement_identifier : (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;)) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (expression_statement "pdVar19 = debug_information;" (assignment_expression "pdVar19 = debug_information" identifier = identifier) ;) (goto_statement "goto LAB_0006373a;" goto statement_identifier ;) })) (if_statement "if ((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)) {\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }" if (parenthesized_expression "((local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4))" ( (binary_expression "(local_ec != (uchar *)0x0) && ((uint)(puVar34 < puVar2) <= local_f4)" (parenthesized_expression "(local_ec != (uchar *)0x0)" ( (binary_expression "local_ec != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((uint)(puVar34 < puVar2) <= local_f4)" ( (binary_expression "(uint)(puVar34 < puVar2) <= local_f4" (call_expression "(uint)(puVar34 < puVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar34 < puVar2)" ( (binary_expression "puVar34 < puVar2" identifier < identifier) ))) <= identifier) ))) )) (compound_statement "{\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );\n            pcVar18 = (char *)puVar34;\n            goto LAB_0006371f;\n          }" { (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       );" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       )" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       )" identifier (argument_list "(0,\n                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"\n                                       )" ( number_literal , (string_literal ""View Offset 0x%lx is bigger than .debug_loc section size.\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "pcVar18 = (char *)puVar34;" (assignment_expression "pcVar18 = (char *)puVar34" identifier = (cast_expression "(char *)puVar34" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0006371f;" goto statement_identifier ;) })) (if_statement "if (pcVar11 == (char *)0x0) {\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }\n          else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }" if (parenthesized_expression "(pcVar11 == (char *)0x0)" ( (binary_expression "pcVar11 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar34 = section->start + (int)section->size;\n            if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }\n          }" { (expression_statement "puVar34 = section->start + (int)section->size;" (assignment_expression "puVar34 = section->start + (int)section->size" identifier = (binary_expression "section->start + (int)section->size" (field_expression "section->start" identifier -> field_identifier) + (cast_expression "(int)section->size" ( (type_descriptor "int" primitive_type) ) (field_expression "section->size" identifier -> field_identifier)))) ;) (if_statement "if (local_68 == 0) {\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }\n            else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }" if (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) (compound_statement "{\n              if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }\n            }" { (if_statement "if (num_debug_info_entries <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }" if (parenthesized_expression "(num_debug_info_entries <= local_8c)" ( (binary_expression "num_debug_info_entries <= local_8c" identifier <= identifier) )) (compound_statement "{\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }" { (expression_statement "pcVar14 = "No debug information available for loc lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information available for loc lists of entry: %u\n"" identifier = (string_literal ""No debug information available for loc lists of entry: %u\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00064bdb;" goto statement_identifier ;) })) (expression_statement "pdVar19 = debug_information + (int)local_8c;" (assignment_expression "pdVar19 = debug_information + (int)local_8c" identifier = (binary_expression "debug_information + (int)local_8c" identifier + (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar13 = (uchar *)pdVar19->pointer_size;" (assignment_expression "puVar13 = (uchar *)pdVar19->pointer_size" identifier = (cast_expression "(uchar *)pdVar19->pointer_size" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pdVar19->pointer_size" identifier -> field_identifier))) ;) (if_statement "if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }\n              else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }" if (parenthesized_expression "(puVar13 + -2 < (uchar *)0x7)" ( (binary_expression "puVar13 + -2 < (uchar *)0x7" (binary_expression "puVar13 + -2" identifier + number_literal) < (cast_expression "(uchar *)0x7" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                dVar7 = pdVar19->cu_offset;\n                uVar16 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                uVar40 = (int)puVar13 * 8 - 1;\n                bVar30 = (byte)uVar40;\n                bVar43 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;\n                if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                uVar23 = ~uVar23;\n                puVar39 = puVar36;\n                puVar37 = local_ec;\n                while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);\n                warn(pcVar14);\n                start = puVar39;\n                vstart = puVar37;\n              }" { (expression_statement "dVar7 = pdVar19->cu_offset;" (assignment_expression "dVar7 = pdVar19->cu_offset" identifier = (field_expression "pdVar19->cu_offset" identifier -> field_identifier)) ;) (expression_statement "uVar16 = pdVar19->offset_size;" (assignment_expression "uVar16 = pdVar19->offset_size" identifier = (field_expression "pdVar19->offset_size" identifier -> field_identifier)) ;) (expression_statement "iVar5 = pdVar19->dwarf_version;" (assignment_expression "iVar5 = pdVar19->dwarf_version" identifier = (field_expression "pdVar19->dwarf_version" identifier -> field_identifier)) ;) (expression_statement "uVar40 = (int)puVar13 * 8 - 1;" (assignment_expression "uVar40 = (int)puVar13 * 8 - 1" identifier = (binary_expression "(int)puVar13 * 8 - 1" (binary_expression "(int)puVar13 * 8" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) - number_literal)) ;) (expression_statement "bVar30 = (byte)uVar40;" (assignment_expression "bVar30 = (byte)uVar40" identifier = (cast_expression "(byte)uVar40" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "bVar43 = bVar30 & 0x1f;" (assignment_expression "bVar43 = bVar30 & 0x1f" identifier = (binary_expression "bVar30 & 0x1f" identifier & number_literal)) ;) (expression_statement "uVar21 = -2 << (bVar30 & 0x1f);" (assignment_expression "uVar21 = -2 << (bVar30 & 0x1f)" identifier = (binary_expression "-2 << (bVar30 & 0x1f)" number_literal << (parenthesized_expression "(bVar30 & 0x1f)" ( (binary_expression "bVar30 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar22 = uVar21;" (assignment_expression "uVar22 = uVar21" identifier = identifier) ;) (expression_statement "uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43;" (assignment_expression "uVar23 = -1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43" identifier = (binary_expression "-1 << bVar43 | 0xfffffffeU >> 0x20 - bVar43" (binary_expression "-1 << bVar43" number_literal << identifier) | (binary_expression "0xfffffffeU >> 0x20 - bVar43" number_literal >> (binary_expression "0x20 - bVar43" number_literal - identifier)))) ;) (if_statement "if ((uVar40 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }" if (parenthesized_expression "((uVar40 & 0x20) != 0)" ( (binary_expression "(uVar40 & 0x20) != 0" (parenthesized_expression "(uVar40 & 0x20)" ( (binary_expression "uVar40 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar23 = uVar21;" (assignment_expression "uVar23 = uVar21" identifier = identifier) ;) })) (expression_statement "uVar22 = ~uVar22;" (assignment_expression "uVar22 = ~uVar22" identifier = (unary_expression "~uVar22" ~ identifier)) ;) (expression_statement "uVar23 = ~uVar23;" (assignment_expression "uVar23 = ~uVar23" identifier = (unary_expression "~uVar23" ~ identifier)) ;) (expression_statement "puVar39 = puVar36;" (assignment_expression "puVar39 = puVar36" identifier = identifier) ;) (expression_statement "puVar37 = local_ec;" (assignment_expression "puVar37 = local_ec" identifier = identifier) ;) (while_statement "while( true ) {\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  uVar40 = (int)puVar39 - (int)start;\n                  puVar24 = puVar12 + uVar40;\n                  iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);\n                  puVar50 = puVar39 + (int)puVar13 * 2;\n                  if (puVar34 < puVar50) break;\n                  printf("    %8.8lx ",puVar24);\n                  puVar26 = puVar39 + (int)puVar13;\n                  puVar25 = puVar13;\n                  puVar27 = puVar13;\n                  if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }\n                  puVar39 = puVar26 + (int)puVar13;\n                  if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }\n                }" { (expression_statement "uVar40 = (int)puVar39 - (int)start;" (assignment_expression "uVar40 = (int)puVar39 - (int)start" identifier = (binary_expression "(int)puVar39 - (int)start" (cast_expression "(int)puVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)start" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar24 = puVar12 + uVar40;" (assignment_expression "puVar24 = puVar12 + uVar40" identifier = (binary_expression "puVar12 + uVar40" identifier + identifier)) ;) (expression_statement "iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12);" (assignment_expression "iVar20 = ((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12)" identifier = (binary_expression "((int)uVar40 >> 0x1f) + uVar35 + (uint)CARRY4(uVar40,(uint)puVar12)" (binary_expression "((int)uVar40 >> 0x1f) + uVar35" (parenthesized_expression "((int)uVar40 >> 0x1f)" ( (binary_expression "(int)uVar40 >> 0x1f" (cast_expression "(int)uVar40" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + identifier) + (cast_expression "(uint)CARRY4(uVar40,(uint)puVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar40,(uint)puVar12)" identifier (argument_list "(uVar40,(uint)puVar12)" ( identifier , (cast_expression "(uint)puVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))))) ;) (expression_statement "puVar50 = puVar39 + (int)puVar13 * 2;" (assignment_expression "puVar50 = puVar39 + (int)puVar13 * 2" identifier = (binary_expression "puVar39 + (int)puVar13 * 2" identifier + (binary_expression "(int)puVar13 * 2" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (if_statement "if (puVar34 < puVar50) break;" if (parenthesized_expression "(puVar34 < puVar50)" ( (binary_expression "puVar34 < puVar50" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "printf("    %8.8lx ",puVar24);" (call_expression "printf("    %8.8lx ",puVar24)" identifier (argument_list "("    %8.8lx ",puVar24)" ( (string_literal ""    %8.8lx "" " string_content ") , identifier ))) ;) (expression_statement "puVar26 = puVar39 + (int)puVar13;" (assignment_expression "puVar26 = puVar39 + (int)puVar13" identifier = (binary_expression "puVar39 + (int)puVar13" identifier + (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar25 = puVar13;" (assignment_expression "puVar25 = puVar13" identifier = identifier) ;) (expression_statement "puVar27 = puVar13;" (assignment_expression "puVar27 = puVar13" identifier = identifier) ;) (if_statement "if (puVar26 < puVar34) {\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }" if (parenthesized_expression "(puVar26 < puVar34)" ( (binary_expression "puVar26 < puVar34" identifier < identifier) )) (compound_statement "{\nLAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);\n                    if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }\n                    if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;\n                  }" { (labeled_statement "LAB_00064528:\n                    local_104 = (*byte_get)(puVar39,(int)puVar25);" statement_identifier : (expression_statement "local_104 = (*byte_get)(puVar39,(int)puVar25);" (assignment_expression "local_104 = (*byte_get)(puVar39,(int)puVar25)" identifier = (call_expression "(*byte_get)(puVar39,(int)puVar25)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar39,(int)puVar25)" ( identifier , (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (if_statement "if ((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))) {\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }\n                    else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }" if (parenthesized_expression "((puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1))))" ( (binary_expression "(puVar50 == puVar34) &&\n                       ((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))" (parenthesized_expression "(puVar50 == puVar34)" ( (binary_expression "puVar50 == puVar34" identifier == identifier) )) && (parenthesized_expression "((puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)))" ( (parenthesized_expression "(puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1))" ( (binary_expression "puVar34 <= puVar26 ||\n                        (puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)" (binary_expression "puVar34 <= puVar26" identifier <= identifier) || (parenthesized_expression "(puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1)" ( (comma_expression "puVar27 = puVar34 + -(int)puVar26,\n                        (uchar *)0x7 < puVar34 + -(int)puVar26 + -1" (assignment_expression "puVar27 = puVar34 + -(int)puVar26" identifier = (binary_expression "puVar34 + -(int)puVar26" identifier + (unary_expression "-(int)puVar26" - (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier)))) , (binary_expression "(uchar *)0x7 < puVar34 + -(int)puVar26 + -1" (cast_expression "(uchar *)0x7" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar34 + -(int)puVar26 + -1" (binary_expression "puVar34 + -(int)puVar26" identifier + (unary_expression "-(int)puVar26" - (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal))) ))) )) ))) )) (compound_statement "{\n                      local_104._4_4_ = (uint)(local_104 >> 0x20);\n                      local_dc = 0;\n                      uVar40 = (uint)local_104;\n                      uVar21 = local_104._4_4_;\n                    }" { (expression_statement "local_104._4_4_ = (uint)(local_104 >> 0x20);" (assignment_expression "local_104._4_4_ = (uint)(local_104 >> 0x20)" (field_expression "local_104._4_4_" identifier . field_identifier) = (call_expression "(uint)(local_104 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_104 >> 0x20)" ( (binary_expression "local_104 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (expression_statement "uVar40 = (uint)local_104;" (assignment_expression "uVar40 = (uint)local_104" identifier = (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = local_104._4_4_;" (assignment_expression "uVar21 = local_104._4_4_" identifier = (field_expression "local_104._4_4_" identifier . field_identifier)) ;) }) (else_clause "else {\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }" else (compound_statement "{\nLAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);\n                      uVar40 = (uint)local_104 | (uint)local_dc;\n                      uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);\n                    }" { (labeled_statement "LAB_00064624:\n                      local_dc = (*byte_get)(puVar26,(int)puVar27);" statement_identifier : (expression_statement "local_dc = (*byte_get)(puVar26,(int)puVar27);" (assignment_expression "local_dc = (*byte_get)(puVar26,(int)puVar27)" identifier = (call_expression "(*byte_get)(puVar26,(int)puVar27)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar26,(int)puVar27)" ( identifier , (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (expression_statement "uVar40 = (uint)local_104 | (uint)local_dc;" (assignment_expression "uVar40 = (uint)local_104 | (uint)local_dc" identifier = (binary_expression "(uint)local_104 | (uint)local_dc" (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier) | (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20);" (assignment_expression "uVar21 = local_104._4_4_ | (uint)(local_dc >> 0x20)" identifier = (binary_expression "local_104._4_4_ | (uint)(local_dc >> 0x20)" (field_expression "local_104._4_4_" identifier . field_identifier) | (call_expression "(uint)(local_dc >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_dc >> 0x20)" ( (binary_expression "local_dc >> 0x20" identifier >> number_literal) ))))) ;) }))) (if_statement "if (uVar21 == 0 && uVar40 == 0) goto LAB_00064257;" if (parenthesized_expression "(uVar21 == 0 && uVar40 == 0)" ( (binary_expression "uVar21 == 0 && uVar40 == 0" (binary_expression "uVar21 == 0" identifier == number_literal) && (binary_expression "uVar40 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00064257;" goto statement_identifier ;)) }) (else_clause "else {\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }" else (compound_statement "{\n                    if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }\n                    puVar25 = puVar34 + -(int)puVar39;\n                    if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;\n                    if (puVar50 != puVar34) goto LAB_0006460a;\nLAB_00064230:\n                    local_104 = 0;\n                    local_dc = 0;\nLAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));\n                    if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }\n                  }" { (if_statement "if (puVar34 <= puVar39) {\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }" if (parenthesized_expression "(puVar34 <= puVar39)" ( (binary_expression "puVar34 <= puVar39" identifier <= identifier) )) (compound_statement "{\n                      if (puVar50 == puVar34) goto LAB_00064230;\nLAB_0006460a:\n                      local_104 = 0;\n                      goto LAB_00064624;\n                    }" { (if_statement "if (puVar50 == puVar34) goto LAB_00064230;" if (parenthesized_expression "(puVar50 == puVar34)" ( (binary_expression "puVar50 == puVar34" identifier == identifier) )) (goto_statement "goto LAB_00064230;" goto statement_identifier ;)) (labeled_statement "LAB_0006460a:\n                      local_104 = 0;" statement_identifier : (expression_statement "local_104 = 0;" (assignment_expression "local_104 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_00064624;" goto statement_identifier ;) })) (expression_statement "puVar25 = puVar34 + -(int)puVar39;" (assignment_expression "puVar25 = puVar34 + -(int)puVar39" identifier = (binary_expression "puVar34 + -(int)puVar39" identifier + (unary_expression "-(int)puVar39" - (cast_expression "(int)puVar39" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if (puVar34 + -(int)puVar39 + -1 < (uchar *)0x8) goto LAB_00064528;" if (parenthesized_expression "(puVar34 + -(int)puVar39 + -1 < (uchar *)0x8)" ( (binary_expression "puVar34 + -(int)puVar39 + -1 < (uchar *)0x8" (binary_expression "puVar34 + -(int)puVar39 + -1" (binary_expression "puVar34 + -(int)puVar39" identifier + (unary_expression "-(int)puVar39" - (cast_expression "(int)puVar39" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal) < (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00064528;" goto statement_identifier ;)) (if_statement "if (puVar50 != puVar34) goto LAB_0006460a;" if (parenthesized_expression "(puVar50 != puVar34)" ( (binary_expression "puVar50 != puVar34" identifier != identifier) )) (goto_statement "goto LAB_0006460a;" goto statement_identifier ;)) (labeled_statement "LAB_00064230:\n                    local_104 = 0;" statement_identifier : (expression_statement "local_104 = 0;" (assignment_expression "local_104 = 0" identifier = number_literal) ;)) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (labeled_statement "LAB_00064257:\n                    bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));" statement_identifier : (expression_statement "bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24));" (assignment_expression "bVar17 = reloc_at(section,CONCAT44(iVar20,puVar24))" identifier = (call_expression "reloc_at(section,CONCAT44(iVar20,puVar24))" identifier (argument_list "(section,CONCAT44(iVar20,puVar24))" ( identifier , (call_expression "CONCAT44(iVar20,puVar24)" identifier (argument_list "(iVar20,puVar24)" ( identifier , identifier ))) )))) ;)) (if_statement "if ((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)) {\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }" if (parenthesized_expression "((bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0))" ( (binary_expression "(bVar17 == 0) &&\n                       (bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)" (parenthesized_expression "(bVar17 == 0)" ( (binary_expression "bVar17 == 0" identifier == number_literal) )) && (parenthesized_expression "(bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0)" ( (comma_expression "bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)), bVar17 == 0" (assignment_expression "bVar17 = reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24))" identifier = (call_expression "reloc_at(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24))" identifier (argument_list "(section,CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24))" ( identifier , (call_expression "CONCAT44(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)" identifier (argument_list "(iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24),\n                                                           puVar13 + (int)puVar24)" ( (binary_expression "iVar20 + (uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24)" identifier + (cast_expression "(uint)CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)puVar13,\n                                                                                 (uint)puVar24)" identifier (argument_list "((uint)puVar13,\n                                                                                 (uint)puVar24)" ( (cast_expression "(uint)puVar13" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)puVar24" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) , (binary_expression "puVar13 + (int)puVar24" identifier + (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) , (binary_expression "bVar17 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                      pcVar18 = "<End of list>\n";\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      start = puVar26 + (int)puVar13;\n                      vstart = puVar37;\n                      goto LAB_000637dc;\n                    }" { (expression_statement "pcVar18 = "<End of list>\n";" (assignment_expression "pcVar18 = "<End of list>\n"" identifier = (string_literal ""<End of list>\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<End of list>\n",5)" identifier (argument_list "(0,"<End of list>\n",5)" ( number_literal , (string_literal ""<End of list>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "start = puVar26 + (int)puVar13;" (assignment_expression "start = puVar26 + (int)puVar13" identifier = (binary_expression "puVar26 + (int)puVar13" identifier + (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "vstart = puVar37;" (assignment_expression "vstart = puVar37" identifier = identifier) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) }))) (expression_statement "puVar39 = puVar26 + (int)puVar13;" (assignment_expression "puVar39 = puVar26 + (int)puVar13" identifier = (binary_expression "puVar26 + (int)puVar13" identifier + (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     ) {\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }\n                  else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }" if (parenthesized_expression "(((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)\n                     )" ( (binary_expression "((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)\n                     && ((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)" (parenthesized_expression "((uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22)" ( (binary_expression "(uVar23 & local_104._4_4_) == uVar23 && (uVar22 & (uint)local_104) == uVar22" (binary_expression "(uVar23 & local_104._4_4_) == uVar23" (parenthesized_expression "(uVar23 & local_104._4_4_)" ( (binary_expression "uVar23 & local_104._4_4_" identifier & (field_expression "local_104._4_4_" identifier . field_identifier)) )) == identifier) && (binary_expression "(uVar22 & (uint)local_104) == uVar22" (parenthesized_expression "(uVar22 & (uint)local_104)" ( (binary_expression "uVar22 & (uint)local_104" identifier & (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier)) )) == identifier)) )) && (parenthesized_expression "((uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)" ( (binary_expression "(uVar23 & local_dc._4_4_) != uVar23 || (uVar22 & (uint)local_dc) != uVar22" (binary_expression "(uVar23 & local_dc._4_4_) != uVar23" (parenthesized_expression "(uVar23 & local_dc._4_4_)" ( (binary_expression "uVar23 & local_dc._4_4_" identifier & (field_expression "local_dc._4_4_" identifier . field_identifier)) )) != identifier) || (binary_expression "(uVar22 & (uint)local_dc) != uVar22" (parenthesized_expression "(uVar22 & (uint)local_dc)" ( (binary_expression "uVar22 & (uint)local_dc" identifier & (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != identifier)) ))) )) (compound_statement "{\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                    local_e4 = local_dc;\n                  }" { (expression_statement "print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104);" (call_expression "print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_104)" identifier (argument_list "(CONCAT44(uVar35,puVar12),(uint)local_104)" ( (call_expression "CONCAT44(uVar35,puVar12)" identifier (argument_list "(uVar35,puVar12)" ( identifier , identifier ))) , (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc);" (call_expression "print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_dc)" identifier (argument_list "(CONCAT44(uVar35,puVar12),(uint)local_dc)" ( (call_expression "CONCAT44(uVar35,puVar12)" identifier (argument_list "(uVar35,puVar12)" ( identifier , identifier ))) , (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"(base address)\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"(base address)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"(base address)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(base address)\n",5)" identifier (argument_list "(0,"(base address)\n",5)" ( number_literal , (string_literal ""(base address)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "local_e4 = local_dc;" (assignment_expression "local_e4 = local_dc" identifier = identifier) ;) }) (else_clause "else {\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }" else (compound_statement "{\n                    if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }\n                    local_b0 = (uint)(dVar47 >> 0x20);\n                    local_bc = (uint)dVar47;\n                    puVar24 = puVar39 + 2;\n                    if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);\n                    print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);\n                    putc(0x28,*(FILE **)puVar8);\n                    iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);\n                    putc(0x29,*(FILE **)puVar8);\n                    if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar33 = *(FILE **)puVar8;\n                    if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                    putc(10,pFVar33);\n                  }" { (if_statement "if (puVar37 == (uchar *)0x0) {\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }\n                    else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }" if (parenthesized_expression "(puVar37 == (uchar *)0x0)" ( (binary_expression "puVar37 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      local_ac = 0xffffffff;\n                      local_a4 = 0xffffffff;\n                      dVar47 = 0xffffffffffffffff;\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 < puVar39 + 2) break;\n                    }" { (expression_statement "local_ac = 0xffffffff;" (assignment_expression "local_ac = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_a4 = 0xffffffff;" (assignment_expression "local_a4 = 0xffffffff" identifier = number_literal) ;) (expression_statement "dVar47 = 0xffffffffffffffff;" (assignment_expression "dVar47 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "bVar41 = puVar39 + 2 == puVar34;" (assignment_expression "bVar41 = puVar39 + 2 == puVar34" identifier = (binary_expression "puVar39 + 2 == puVar34" (binary_expression "puVar39 + 2" identifier + number_literal) == identifier)) ;) (if_statement "if (puVar34 < puVar39 + 2) break;" if (parenthesized_expression "(puVar34 < puVar39 + 2)" ( (binary_expression "puVar34 < puVar39 + 2" identifier < (binary_expression "puVar39 + 2" identifier + number_literal)) )) (break_statement "break;" break ;)) }) (else_clause "else {\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }" else (compound_statement "{\n                      puVar24 = puVar12 + ((int)puVar37 - (int)start);\n                      puVar50 = puVar37;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      puVar37 = puVar37 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);\n                      local_a4 = (uint)(dVar48 >> 0x20);\n                      puVar37 = puVar37 + bytes_read;\n                      local_ac = dVar48 & 0xffffffff;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar24,8,&DAT_0007bc55);\n                      bVar41 = puVar39 + 2 == puVar34;\n                      if (puVar34 <= puVar39 + 2 && !bVar41) break;\n                    }" { (expression_statement "puVar24 = puVar12 + ((int)puVar37 - (int)start);" (assignment_expression "puVar24 = puVar12 + ((int)puVar37 - (int)start)" identifier = (binary_expression "puVar12 + ((int)puVar37 - (int)start)" identifier + (parenthesized_expression "((int)puVar37 - (int)start)" ( (binary_expression "(int)puVar37 - (int)start" (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)start" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar50 = puVar37;" (assignment_expression "puVar50 = puVar37" identifier = identifier) ;) (expression_statement "puVar49 = &bytes_read;" (assignment_expression "puVar49 = &bytes_read" identifier = (pointer_expression "&bytes_read" & identifier)) ;) (expression_statement "dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34);" (assignment_expression "dVar47 = read_leb128(puVar37,&bytes_read,0,puVar34)" identifier = (call_expression "read_leb128(puVar37,&bytes_read,0,puVar34)" identifier (argument_list "(puVar37,&bytes_read,0,puVar34)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar37 = puVar37 + bytes_read;" (assignment_expression "puVar37 = puVar37 + bytes_read" identifier = (binary_expression "puVar37 + bytes_read" identifier + identifier)) ;) (expression_statement "print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;" (call_expression "print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))" identifier (argument_list "(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))" ( (call_expression "CONCAT44(puVar49,puVar50)" identifier (argument_list "(puVar49,puVar50)" ( identifier , identifier ))) , (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(int)(dVar47 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) ))) ))) ;) (expression_statement "dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34);" (assignment_expression "dVar48 = read_leb128(puVar37,&bytes_read,0,puVar34)" identifier = (call_expression "read_leb128(puVar37,&bytes_read,0,puVar34)" identifier (argument_list "(puVar37,&bytes_read,0,puVar34)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "local_a4 = (uint)(dVar48 >> 0x20);" (assignment_expression "local_a4 = (uint)(dVar48 >> 0x20)" identifier = (call_expression "(uint)(dVar48 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dVar48 >> 0x20)" ( (binary_expression "dVar48 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "puVar37 = puVar37 + bytes_read;" (assignment_expression "puVar37 = puVar37 + bytes_read" identifier = (binary_expression "puVar37 + bytes_read" identifier + identifier)) ;) (expression_statement "local_ac = dVar48 & 0xffffffff;" (assignment_expression "local_ac = dVar48 & 0xffffffff" identifier = (binary_expression "dVar48 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4);" (call_expression "print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4)" identifier (argument_list "(CONCAT44(uVar35,puVar12),(uint)dVar48,local_a4)" ( (call_expression "CONCAT44(uVar35,puVar12)" identifier (argument_list "(uVar35,puVar12)" ( identifier , identifier ))) , (cast_expression "(uint)dVar48" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier = (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" ( number_literal , (string_literal ""views at %8.8lx for:\n    %*s "" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,puVar24,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,puVar24,8,&DAT_0007bc55)" identifier (argument_list "(pcVar14,puVar24,8,&DAT_0007bc55)" ( identifier , identifier , number_literal , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (expression_statement "bVar41 = puVar39 + 2 == puVar34;" (assignment_expression "bVar41 = puVar39 + 2 == puVar34" identifier = (binary_expression "puVar39 + 2 == puVar34" (binary_expression "puVar39 + 2" identifier + number_literal) == identifier)) ;) (if_statement "if (puVar34 <= puVar39 + 2 && !bVar41) break;" if (parenthesized_expression "(puVar34 <= puVar39 + 2 && !bVar41)" ( (binary_expression "puVar34 <= puVar39 + 2 && !bVar41" (binary_expression "puVar34 <= puVar39 + 2" identifier <= (binary_expression "puVar39 + 2" identifier + number_literal)) && (unary_expression "!bVar41" ! identifier)) )) (break_statement "break;" break ;)) }))) (expression_statement "local_b0 = (uint)(dVar47 >> 0x20);" (assignment_expression "local_b0 = (uint)(dVar47 >> 0x20)" identifier = (call_expression "(uint)(dVar47 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_bc = (uint)dVar47;" (assignment_expression "local_bc = (uint)dVar47" identifier = (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar24 = puVar39 + 2;" (assignment_expression "puVar24 = puVar39 + 2" identifier = (binary_expression "puVar39 + 2" identifier + number_literal)) ;) (if_statement "if ((bVar41) && (puVar34 <= puVar39)) {\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }\n                    else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }" if (parenthesized_expression "((bVar41) && (puVar34 <= puVar39))" ( (binary_expression "(bVar41) && (puVar34 <= puVar39)" (parenthesized_expression "(bVar41)" ( identifier )) && (parenthesized_expression "(puVar34 <= puVar39)" ( (binary_expression "puVar34 <= puVar39" identifier <= identifier) ))) )) (compound_statement "{\n                      local_94 = 0;\n                      puVar39 = puVar34;\n                    }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "puVar39 = puVar34;" (assignment_expression "puVar39 = puVar34" identifier = identifier) ;) }) (else_clause "else {\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }" else (compound_statement "{\n                      eVar44 = (*byte_get)(puVar39,2);\n                      puVar39 = puVar24 + ((uint)eVar44 & 0xffff);\n                      if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }\n                      local_94 = (uint)eVar44 & 0xffff;\n                    }" { (expression_statement "eVar44 = (*byte_get)(puVar39,2);" (assignment_expression "eVar44 = (*byte_get)(puVar39,2)" identifier = (call_expression "(*byte_get)(puVar39,2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar39,2)" ( identifier , number_literal )))) ;) (expression_statement "puVar39 = puVar24 + ((uint)eVar44 & 0xffff);" (assignment_expression "puVar39 = puVar24 + ((uint)eVar44 & 0xffff)" identifier = (binary_expression "puVar24 + ((uint)eVar44 & 0xffff)" identifier + (parenthesized_expression "((uint)eVar44 & 0xffff)" ( (binary_expression "(uint)eVar44 & 0xffff" (cast_expression "(uint)eVar44" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (puVar34 < puVar39) {\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }" if (parenthesized_expression "(puVar34 < puVar39)" ( (binary_expression "puVar34 < puVar39" identifier < identifier) )) (compound_statement "{\n                        puVar50 = (uchar *)0x5;\n                        pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);\n                        warn(pcVar14);\n                        start = puVar24;\n                        vstart = puVar37;\n                        goto LAB_000637dc;\n                      }" { (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5)" identifier (argument_list "(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                  ,5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "start = puVar24;" (assignment_expression "start = puVar24" identifier = identifier) ;) (expression_statement "vstart = puVar37;" (assignment_expression "vstart = puVar37" identifier = identifier) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (expression_statement "local_94 = (uint)eVar44 & 0xffff;" (assignment_expression "local_94 = (uint)eVar44 & 0xffff" identifier = (binary_expression "(uint)eVar44 & 0xffff" (cast_expression "(uint)eVar44" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) }))) (expression_statement "print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104);" (call_expression "print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104)" identifier (argument_list "(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_104)" ( (call_expression "CONCAT44(uVar35,puVar12)" identifier (argument_list "(uVar35,puVar12)" ( identifier , identifier ))) , (binary_expression "(uint)local_e4 + (uint)local_104" (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ;) (expression_statement "print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc);" (call_expression "print_dwarf_vma(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc)" identifier (argument_list "(CONCAT44(uVar35,puVar12),(uint)local_e4 + (uint)local_dc)" ( (call_expression "CONCAT44(uVar35,puVar12)" identifier (argument_list "(uVar35,puVar12)" ( identifier , identifier ))) , (binary_expression "(uint)local_e4 + (uint)local_dc" (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ;) (expression_statement "putc(0x28,*(FILE **)puVar8);" (call_expression "putc(0x28,*(FILE **)puVar8)" identifier (argument_list "(0x28,*(FILE **)puVar8)" ( number_literal , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section);" (assignment_expression "iVar20 = decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section)" identifier = (call_expression "decode_location_expression\n                                       (puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section)" identifier (argument_list "(puVar24,(uint)puVar13,uVar16,iVar5,(ulonglong)local_94,\n                                        (ulonglong)(uint)dVar7,section)" ( identifier , (cast_expression "(uint)puVar13" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier , identifier , (cast_expression "(ulonglong)local_94" ( (type_descriptor "ulonglong" type_identifier) ) identifier) , (cast_expression "(ulonglong)(uint)dVar7" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)dVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier )))) ;) (expression_statement "putc(0x29,*(FILE **)puVar8);" (call_expression "putc(0x29,*(FILE **)puVar8)" identifier (argument_list "(0x29,*(FILE **)puVar8)" ( number_literal , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((iVar20 != 0) && (iVar31 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }" if (parenthesized_expression "((iVar20 != 0) && (iVar31 == 0))" ( (binary_expression "(iVar20 != 0) && (iVar31 == 0)" (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" identifier = (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" identifier (argument_list "(0," [without DW_AT_frame_base]",5)" ( number_literal , (string_literal "" [without DW_AT_frame_base]"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "pFVar33 = *(FILE **)puVar8;" (assignment_expression "pFVar33 = *(FILE **)puVar8" identifier = (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)) {\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }\n                    else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }" if (parenthesized_expression "((dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_))" ( (binary_expression "(dVar47 != CONCAT44(local_a4,(uint)local_ac)) ||\n                       ((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)" (parenthesized_expression "(dVar47 != CONCAT44(local_a4,(uint)local_ac))" ( (binary_expression "dVar47 != CONCAT44(local_a4,(uint)local_ac)" identifier != (call_expression "CONCAT44(local_a4,(uint)local_ac)" identifier (argument_list "(local_a4,(uint)local_ac)" ( identifier , (cast_expression "(uint)local_ac" ( (type_descriptor "uint" type_identifier) ) identifier) )))) )) || (parenthesized_expression "((uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_)" ( (binary_expression "(uint)local_104 != (uint)local_dc || local_104._4_4_ != local_dc._4_4_" (binary_expression "(uint)local_104 != (uint)local_dc" (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier) != (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier)) || (binary_expression "local_104._4_4_ != local_dc._4_4_" (field_expression "local_104._4_4_" identifier . field_identifier) != (field_expression "local_dc._4_4_" identifier . field_identifier))) ))) )) (compound_statement "{\n                      if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }\n                    }" { (if_statement "if ((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         ) {\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }" if (parenthesized_expression "((local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))\n                         )" ( (binary_expression "(local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)) ||\n                         ((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))" (parenthesized_expression "(local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104))" ( (binary_expression "local_dc._4_4_ < local_104._4_4_ ||\n                           local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)" (binary_expression "local_dc._4_4_ < local_104._4_4_" (field_expression "local_dc._4_4_" identifier . field_identifier) < (field_expression "local_104._4_4_" identifier . field_identifier)) || (binary_expression "local_dc._4_4_ - local_104._4_4_ <\n                           (uint)((uint)local_dc < (uint)local_104)" (binary_expression "local_dc._4_4_ - local_104._4_4_" (field_expression "local_dc._4_4_" identifier . field_identifier) - (field_expression "local_104._4_4_" identifier . field_identifier)) < (call_expression "(uint)((uint)local_dc < (uint)local_104)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_dc < (uint)local_104)" ( (binary_expression "(uint)local_dc < (uint)local_104" (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) || (parenthesized_expression "((local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)))" ( (parenthesized_expression "(local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_))" ( (binary_expression "local_a4 < local_b0 ||\n                           local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)" (binary_expression "local_a4 < local_b0" identifier < identifier) || (binary_expression "local_a4 - local_b0 < (uint)((uint)local_ac < local_bc) &&\n                          ((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)" (binary_expression "local_a4 - local_b0 < (uint)((uint)local_ac < local_bc)" (binary_expression "local_a4 - local_b0" identifier - identifier) < (call_expression "(uint)((uint)local_ac < local_bc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_ac < local_bc)" ( (binary_expression "(uint)local_ac < local_bc" (cast_expression "(uint)local_ac" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) )))) && (parenthesized_expression "((uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_)" ( (binary_expression "(uint)local_104 == (uint)local_dc && local_104._4_4_ == local_dc._4_4_" (binary_expression "(uint)local_104 == (uint)local_dc" (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier) == (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier)) && (binary_expression "local_104._4_4_ == local_dc._4_4_" (field_expression "local_104._4_4_" identifier . field_identifier) == (field_expression "local_dc._4_4_" identifier . field_identifier))) )))) )) ))) )) (compound_statement "{\n                        pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                        fputs(pcVar14,pFVar33);\n                        pFVar33 = *(FILE **)puVar8;\n                      }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start > end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start > end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start > end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start > end)",5)" identifier (argument_list "(0," (start > end)",5)" ( number_literal , (string_literal "" (start > end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar33);" (call_expression "fputs(pcVar14,pFVar33)" identifier (argument_list "(pcVar14,pFVar33)" ( identifier , identifier ))) ;) (expression_statement "pFVar33 = *(FILE **)puVar8;" (assignment_expression "pFVar33 = *(FILE **)puVar8" identifier = (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) }) (else_clause "else {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }" else (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start == end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start == end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start == end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start == end)",5)" identifier (argument_list "(0," (start == end)",5)" ( number_literal , (string_literal "" (start == end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar33);" (call_expression "fputs(pcVar14,pFVar33)" identifier (argument_list "(pcVar14,pFVar33)" ( identifier , identifier ))) ;) (expression_statement "pFVar33 = *(FILE **)puVar8;" (assignment_expression "pFVar33 = *(FILE **)puVar8" identifier = (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }))) (expression_statement "putc(10,pFVar33);" (call_expression "putc(10,pFVar33)" identifier (argument_list "(10,pFVar33)" ( number_literal , identifier ))) ;) }))) })) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5)" identifier (argument_list "(0,\n                                            "Location list starting at offset 0x%lx is not terminated.\n"\n                                            ,5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "start = puVar39;" (assignment_expression "start = puVar39" identifier = identifier) ;) (expression_statement "vstart = puVar37;" (assignment_expression "vstart = puVar37" identifier = identifier) ;) }) (else_clause "else {\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }" else (compound_statement "{\n                pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);\n                puVar50 = local_8c;\n                warn(pcVar14,puVar13,local_8c);\n                pcVar18 = (char *)puVar13;\n              }" { (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5)" identifier (argument_list "(0,\n                                            "Invalid pointer size (%d) in debug info for entry %d\n"\n                                            ,5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "puVar50 = local_8c;" (assignment_expression "puVar50 = local_8c" identifier = identifier) ;) (expression_statement "warn(pcVar14,puVar13,local_8c);" (call_expression "warn(pcVar14,puVar13,local_8c)" identifier (argument_list "(pcVar14,puVar13,local_8c)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar18 = (char *)puVar13;" (assignment_expression "pcVar18 = (char *)puVar13" identifier = (cast_expression "(char *)puVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) }) (else_clause "else if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }" else (if_statement "if (local_8c < num_debug_info_entries) {\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }" if (parenthesized_expression "(local_8c < num_debug_info_entries)" ( (binary_expression "local_8c < num_debug_info_entries" identifier < identifier) )) (compound_statement "{\n              pdVar19 = debug_information + (int)local_8c;\n              puVar13 = (uchar *)pdVar19->pointer_size;\n              if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14,puVar13,local_8c);\n              pcVar18 = (char *)puVar13;\n            }" { (expression_statement "pdVar19 = debug_information + (int)local_8c;" (assignment_expression "pdVar19 = debug_information + (int)local_8c" identifier = (binary_expression "debug_information + (int)local_8c" identifier + (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar13 = (uchar *)pdVar19->pointer_size;" (assignment_expression "puVar13 = (uchar *)pdVar19->pointer_size" identifier = (cast_expression "(uchar *)pdVar19->pointer_size" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pdVar19->pointer_size" identifier -> field_identifier))) ;) (if_statement "if (puVar13 + -2 < (uchar *)0x7) {\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }" if (parenthesized_expression "(puVar13 + -2 < (uchar *)0x7)" ( (binary_expression "puVar13 + -2 < (uchar *)0x7" (binary_expression "puVar13 + -2" identifier + number_literal) < (cast_expression "(uchar *)0x7" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                dVar7 = pdVar19->cu_offset;\n                uVar40 = pdVar19->offset_size;\n                iVar5 = pdVar19->dwarf_version;\n                puVar37 = puVar36;\n                puVar39 = local_ec;\nLAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );\n              }" { (expression_statement "dVar7 = pdVar19->cu_offset;" (assignment_expression "dVar7 = pdVar19->cu_offset" identifier = (field_expression "pdVar19->cu_offset" identifier -> field_identifier)) ;) (expression_statement "uVar40 = pdVar19->offset_size;" (assignment_expression "uVar40 = pdVar19->offset_size" identifier = (field_expression "pdVar19->offset_size" identifier -> field_identifier)) ;) (expression_statement "iVar5 = pdVar19->dwarf_version;" (assignment_expression "iVar5 = pdVar19->dwarf_version" identifier = (field_expression "pdVar19->dwarf_version" identifier -> field_identifier)) ;) (expression_statement "puVar37 = puVar36;" (assignment_expression "puVar37 = puVar36" identifier = identifier) ;) (expression_statement "puVar39 = local_ec;" (assignment_expression "puVar39 = local_ec" identifier = identifier) ;) (labeled_statement "LAB_00063ec0:\n                do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );" statement_identifier : (do_statement "do {\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                } while( true );" do (compound_statement "{\n                  printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));\n                  if (puVar34 <= puVar37) goto LAB_00064ec7;\n                  puVar24 = puVar37 + 1;\n                  uVar16 = local_68;\n                  if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }\n                  eVar44 = (*byte_get)(puVar37,uVar16);\n                  puVar26 = (uchar *)eVar44;\n                  if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }\n                  switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }\n                  puVar24 = puVar37 + 2;\n                  if (puVar34 < puVar24) goto LAB_00064ec7;\n                  if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }\n                  putc(0x28,*(FILE **)puVar8);\n                  iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }\n                  putc(10,*(FILE **)puVar8);\n                }" { (expression_statement "printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start));" (call_expression "printf("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start))" identifier (argument_list "("    %8.8lx ",(uchar *)pcVar18 + ((int)puVar37 - (int)start))" ( (string_literal ""    %8.8lx "" " string_content ") , (binary_expression "(uchar *)pcVar18 + ((int)puVar37 - (int)start)" (cast_expression "(uchar *)pcVar18" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + (parenthesized_expression "((int)puVar37 - (int)start)" ( (binary_expression "(int)puVar37 - (int)start" (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)start" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (if_statement "if (puVar34 <= puVar37) goto LAB_00064ec7;" if (parenthesized_expression "(puVar34 <= puVar37)" ( (binary_expression "puVar34 <= puVar37" identifier <= identifier) )) (goto_statement "goto LAB_00064ec7;" goto statement_identifier ;)) (expression_statement "puVar24 = puVar37 + 1;" (assignment_expression "puVar24 = puVar37 + 1" identifier = (binary_expression "puVar37 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = local_68;" (assignment_expression "uVar16 = local_68" identifier = identifier) ;) (if_statement "if ((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))\n                  {\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }" if (parenthesized_expression "((puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U))" ( (binary_expression "(puVar34 <= puVar24) &&\n                     (uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U)" (parenthesized_expression "(puVar34 <= puVar24)" ( (binary_expression "puVar34 <= puVar24" identifier <= identifier) )) && (parenthesized_expression "(uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U)" ( (comma_expression "uVar16 = (int)puVar34 - (int)puVar37, 7 < ((int)puVar34 - (int)puVar37) - 1U" (assignment_expression "uVar16 = (int)puVar34 - (int)puVar37" identifier = (binary_expression "(int)puVar34 - (int)puVar37" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < ((int)puVar34 - (int)puVar37) - 1U" number_literal < (binary_expression "((int)puVar34 - (int)puVar37) - 1U" (parenthesized_expression "((int)puVar34 - (int)puVar37)" ( (binary_expression "(int)puVar34 - (int)puVar37" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal))) ))) )) (compound_statement "{\n_L4116:\n                    pcVar18 = "<End of list>\n";\n                    puVar50 = (uchar *)0x5;\n                    start = puVar24;\n                    vstart = puVar39;\n                    pcVar14 = (char *)dcgettext(0);\n                    printf(pcVar14,pcVar18,puVar50);\n                    goto LAB_000637dc;\n                  }" { (labeled_statement "_L4116:\n                    pcVar18 = "<End of list>\n";" statement_identifier : (expression_statement "pcVar18 = "<End of list>\n";" (assignment_expression "pcVar18 = "<End of list>\n"" identifier = (string_literal ""<End of list>\n"" " string_content escape_sequence ")) ;)) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "start = puVar24;" (assignment_expression "start = puVar24" identifier = identifier) ;) (expression_statement "vstart = puVar39;" (assignment_expression "vstart = puVar39" identifier = identifier) ;) (expression_statement "pcVar14 = (char *)dcgettext(0);" (assignment_expression "pcVar14 = (char *)dcgettext(0)" identifier = (cast_expression "(char *)dcgettext(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "printf(pcVar14,pcVar18,puVar50);" (call_expression "printf(pcVar14,pcVar18,puVar50)" identifier (argument_list "(pcVar14,pcVar18,puVar50)" ( identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (expression_statement "eVar44 = (*byte_get)(puVar37,uVar16);" (assignment_expression "eVar44 = (*byte_get)(puVar37,uVar16)" identifier = (call_expression "(*byte_get)(puVar37,uVar16)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar37,uVar16)" ( identifier , identifier )))) ;) (expression_statement "puVar26 = (uchar *)eVar44;" (assignment_expression "puVar26 = (uchar *)eVar44" identifier = (cast_expression "(uchar *)eVar44" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (puVar39 != (uchar *)0x0) {\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }" if (parenthesized_expression "(puVar39 != (uchar *)0x0)" ( (binary_expression "puVar39 != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }\nswitchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(pcVar14);\n                    pcVar18 = (char *)puVar26;\n                    start = puVar24;\n                    vstart = puVar39;\n                    goto LAB_000637dc;\n                  }" { (if_statement "if (puVar26 + -2 < (uchar *)0x3) {\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }\n                    else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }" if (parenthesized_expression "(puVar26 + -2 < (uchar *)0x3)" ( (binary_expression "puVar26 + -2 < (uchar *)0x3" (binary_expression "puVar26 + -2" identifier + number_literal) < (cast_expression "(uchar *)0x3" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      puVar27 = puVar12 + ((int)puVar39 - (int)start);\n                      puVar50 = puVar39;\n                      puVar49 = &bytes_read;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;\n                      dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);\n                      puVar39 = puVar39 + bytes_read;\n                      print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,puVar27,8,&DAT_0007bc55);\n                      switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }\n                    }" { (expression_statement "puVar27 = puVar12 + ((int)puVar39 - (int)start);" (assignment_expression "puVar27 = puVar12 + ((int)puVar39 - (int)start)" identifier = (binary_expression "puVar12 + ((int)puVar39 - (int)start)" identifier + (parenthesized_expression "((int)puVar39 - (int)start)" ( (binary_expression "(int)puVar39 - (int)start" (cast_expression "(int)puVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)start" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar50 = puVar39;" (assignment_expression "puVar50 = puVar39" identifier = identifier) ;) (expression_statement "puVar49 = &bytes_read;" (assignment_expression "puVar49 = &bytes_read" identifier = (pointer_expression "&bytes_read" & identifier)) ;) (expression_statement "dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);" (assignment_expression "dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34)" identifier = (call_expression "read_leb128(puVar39,&bytes_read,0,puVar34)" identifier (argument_list "(puVar39,&bytes_read,0,puVar34)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar39 = puVar39 + bytes_read;" (assignment_expression "puVar39 = puVar39 + bytes_read" identifier = (binary_expression "puVar39 + bytes_read" identifier + identifier)) ;) (expression_statement "print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))\n                      ;" (call_expression "print_dwarf_view(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))" identifier (argument_list "(CONCAT44(puVar49,puVar50),(uint)dVar47,(int)(dVar47 >> 0x20))" ( (call_expression "CONCAT44(puVar49,puVar50)" identifier (argument_list "(puVar49,puVar50)" ( identifier , identifier ))) , (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(int)(dVar47 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) ))) ))) ;) (expression_statement "dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34);" (assignment_expression "dVar47 = read_leb128(puVar39,&bytes_read,0,puVar34)" identifier = (call_expression "read_leb128(puVar39,&bytes_read,0,puVar34)" identifier (argument_list "(puVar39,&bytes_read,0,puVar34)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar39 = puVar39 + bytes_read;" (assignment_expression "puVar39 = puVar39 + bytes_read" identifier = (binary_expression "puVar39 + bytes_read" identifier + identifier)) ;) (expression_statement "print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20));" (call_expression "print_dwarf_view(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20))" identifier (argument_list "(CONCAT44(uVar35,puVar12),(uint)dVar47,(int)(dVar47 >> 0x20))" ( (call_expression "CONCAT44(uVar35,puVar12)" identifier (argument_list "(uVar35,puVar12)" ( identifier , identifier ))) , (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(int)(dVar47 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) ))) ))) ;) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier = (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" ( number_literal , (string_literal ""views at %8.8lx for:\n    %*s "" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,puVar27,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,puVar27,8,&DAT_0007bc55)" identifier (argument_list "(pcVar14,puVar27,8,&DAT_0007bc55)" ( identifier , identifier , number_literal , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (switch_statement "switch(puVar26) {\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }" switch (parenthesized_expression "(puVar26)" ( identifier )) (compound_statement "{\n                      case (uchar *)0x2:\n                        goto _L4123;\n                      case (uchar *)0x3:\n                        goto _L4122;\n                      case (uchar *)0x4:\n                        goto _L4120;\n                      }" { (case_statement "case (uchar *)0x2:\n                        goto _L4123;" case (cast_expression "(uchar *)0x2" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto _L4123;" goto statement_identifier ;)) (case_statement "case (uchar *)0x3:\n                        goto _L4122;" case (cast_expression "(uchar *)0x3" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto _L4122;" goto statement_identifier ;)) (case_statement "case (uchar *)0x4:\n                        goto _L4120;" case (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto _L4120;" goto statement_identifier ;)) })) }) (else_clause "else {\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }" else (compound_statement "{\n                      switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }\n                    }" { (switch_statement "switch(puVar26) {\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }" switch (parenthesized_expression "(puVar26)" ( identifier )) (compound_statement "{\n                      case (uchar *)0x0:\n                        goto _L4116;\n                      case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;\n                      }" { (case_statement "case (uchar *)0x0:\n                        goto _L4116;" case (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto _L4116;" goto statement_identifier ;)) (case_statement "case (uchar *)0x1:\n                        dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                        uVar16 = bytes_read;\n                        print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                        uVar28 = 0x15;\n                        goto LAB_00064b2b;" case (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);" (assignment_expression "dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34)" identifier = (call_expression "read_leb128(puVar24,&bytes_read,0,puVar34)" identifier (argument_list "(puVar24,&bytes_read,0,puVar34)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "uVar16 = bytes_read;" (assignment_expression "uVar16 = bytes_read" identifier = identifier) ;) (expression_statement "print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));" (call_expression "print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20))" identifier (argument_list "((uint)dVar47,(uint)(dVar47 >> 0x20))" ( (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier) , (call_expression "(uint)(dVar47 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) ))) ))) ;) (expression_statement "uVar28 = 0x15;" (assignment_expression "uVar28 = 0x15" identifier = number_literal) ;) (goto_statement "goto LAB_00064b2b;" goto statement_identifier ;)) })) }))) (labeled_statement "switchD_000648e8_caseD_3:\n                    puVar50 = (uchar *)0x5;" statement_identifier : (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unknown location list entry type 0x%x.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unknown location list entry type 0x%x.\n",5)" identifier (argument_list "(0,"Unknown location list entry type 0x%x.\n",5)" ( number_literal , (string_literal ""Unknown location list entry type 0x%x.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "pcVar18 = (char *)puVar26;" (assignment_expression "pcVar18 = (char *)puVar26" identifier = (cast_expression "(char *)puVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "start = puVar24;" (assignment_expression "start = puVar24" identifier = identifier) ;) (expression_statement "vstart = puVar39;" (assignment_expression "vstart = puVar39" identifier = identifier) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (switch_statement "switch(puVar26) {\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }" switch (parenthesized_expression "(puVar26)" ( identifier )) (compound_statement "{\n                  case (uchar *)0x0:\n                    goto _L4116;\n                  case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;\n                  case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;\n                  case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;\n                  case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;\n                  default:\n                    goto switchD_000648e8_caseD_3;\n                  }" { (case_statement "case (uchar *)0x0:\n                    goto _L4116;" case (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto _L4116;" goto statement_identifier ;)) (case_statement "case (uchar *)0x1:\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    uVar16 = bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    uVar28 = 9;\nLAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;\n                    printf("%*s",uVar28,&DAT_0007bc55);\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto LAB_00063ec0;" case (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);" (assignment_expression "dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34)" identifier = (call_expression "read_leb128(puVar24,&bytes_read,0,puVar34)" identifier (argument_list "(puVar24,&bytes_read,0,puVar34)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "uVar16 = bytes_read;" (assignment_expression "uVar16 = bytes_read" identifier = identifier) ;) (expression_statement "print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));" (call_expression "print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20))" identifier (argument_list "((uint)dVar47,(uint)(dVar47 >> 0x20))" ( (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier) , (call_expression "(uint)(dVar47 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) ))) ))) ;) (expression_statement "uVar28 = 9;" (assignment_expression "uVar28 = 9" identifier = number_literal) ;) (labeled_statement "LAB_00064b2b:\n                    puVar37 = puVar24 + uVar16;" statement_identifier : (expression_statement "puVar37 = puVar24 + uVar16;" (assignment_expression "puVar37 = puVar24 + uVar16" identifier = (binary_expression "puVar24 + uVar16" identifier + identifier)) ;)) (expression_statement "printf("%*s",uVar28,&DAT_0007bc55);" (call_expression "printf("%*s",uVar28,&DAT_0007bc55)" identifier (argument_list "("%*s",uVar28,&DAT_0007bc55)" ( (string_literal ""%*s"" " string_content ") , identifier , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"(base address selection entry)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(base address selection entry)\n",5)" identifier (argument_list "(0,"(base address selection entry)\n",5)" ( number_literal , (string_literal ""(base address selection entry)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (goto_statement "goto LAB_00063ec0;" goto statement_identifier ;)) (case_statement "case (uchar *)0x2:\n_L4123:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar37 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    break;" case (cast_expression "(uchar *)0x2" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L4123:\n                    puVar50 = (uchar *)0x0;" statement_identifier : (expression_statement "puVar50 = (uchar *)0x0;" (assignment_expression "puVar50 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);" (assignment_expression "dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34)" identifier = (call_expression "read_leb128(puVar24,&bytes_read,0,puVar34)" identifier (argument_list "(puVar24,&bytes_read,0,puVar34)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar24 = puVar24 + bytes_read;" (assignment_expression "puVar24 = puVar24 + bytes_read" identifier = (binary_expression "puVar24 + bytes_read" identifier + identifier)) ;) (expression_statement "print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));" (call_expression "print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20))" identifier (argument_list "((uint)dVar47,(uint)(dVar47 >> 0x20))" ( (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier) , (call_expression "(uint)(dVar47 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) ))) ))) ;) (expression_statement "dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);" (assignment_expression "dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34)" identifier = (call_expression "read_leb128(puVar24,&bytes_read,0,puVar34)" identifier (argument_list "(puVar24,&bytes_read,0,puVar34)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar37 = puVar24 + bytes_read;" (assignment_expression "puVar37 = puVar24 + bytes_read" identifier = (binary_expression "puVar24 + bytes_read" identifier + identifier)) ;) (expression_statement "print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));" (call_expression "print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20))" identifier (argument_list "((uint)dVar47,(uint)(dVar47 >> 0x20))" ( (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier) , (call_expression "(uint)(dVar47 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) ))) ))) ;) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x3:\n_L4122:\n                    puVar50 = (uchar *)0x0;\n                    dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);\n                    puVar24 = puVar24 + bytes_read;\n                    print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));\n                    puVar37 = puVar24 + 4;\n                    if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }\n                    printf("%08x ",uVar28);\n                    break;" case (cast_expression "(uchar *)0x3" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L4122:\n                    puVar50 = (uchar *)0x0;" statement_identifier : (expression_statement "puVar50 = (uchar *)0x0;" (assignment_expression "puVar50 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34);" (assignment_expression "dVar47 = read_leb128(puVar24,&bytes_read,0,puVar34)" identifier = (call_expression "read_leb128(puVar24,&bytes_read,0,puVar34)" identifier (argument_list "(puVar24,&bytes_read,0,puVar34)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar24 = puVar24 + bytes_read;" (assignment_expression "puVar24 = puVar24 + bytes_read" identifier = (binary_expression "puVar24 + bytes_read" identifier + identifier)) ;) (expression_statement "print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20));" (call_expression "print_addr_index((uint)dVar47,(uint)(dVar47 >> 0x20))" identifier (argument_list "((uint)dVar47,(uint)(dVar47 >> 0x20))" ( (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier) , (call_expression "(uint)(dVar47 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) ))) ))) ;) (expression_statement "puVar37 = puVar24 + 4;" (assignment_expression "puVar37 = puVar24 + 4" identifier = (binary_expression "puVar24 + 4" identifier + number_literal)) ;) (if_statement "if (puVar37 < puVar34) {\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }" if (parenthesized_expression "(puVar37 < puVar34)" ( (binary_expression "puVar37 < puVar34" identifier < identifier) )) (compound_statement "{\n                      iVar20 = 4;\nLAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }" { (expression_statement "iVar20 = 4;" (assignment_expression "iVar20 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00064e5d:\n                      eVar44 = (*byte_get)(puVar24,iVar20);" statement_identifier : (expression_statement "eVar44 = (*byte_get)(puVar24,iVar20);" (assignment_expression "eVar44 = (*byte_get)(puVar24,iVar20)" identifier = (call_expression "(*byte_get)(puVar24,iVar20)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar24,iVar20)" ( identifier , identifier )))) ;)) (expression_statement "uVar28 = (undefined4)eVar44;" (assignment_expression "uVar28 = (undefined4)eVar44" identifier = (cast_expression "(undefined4)eVar44" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) }) (else_clause "else {\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }" else (compound_statement "{\n                      uVar28 = 0;\n                      if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;\n                    }" { (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (if_statement "if ((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)) goto LAB_00064e5d;" if (parenthesized_expression "((puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8))" ( (binary_expression "(puVar24 < puVar34) &&\n                         (iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)" (parenthesized_expression "(puVar24 < puVar34)" ( (binary_expression "puVar24 < puVar34" identifier < identifier) )) && (parenthesized_expression "(iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8)" ( (comma_expression "iVar20 = (int)puVar34 - (int)puVar24, iVar20 - 1U < 8" (assignment_expression "iVar20 = (int)puVar34 - (int)puVar24" identifier = (binary_expression "(int)puVar34 - (int)puVar24" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar20 - 1U < 8" (binary_expression "iVar20 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00064e5d;" goto statement_identifier ;)) }))) (expression_statement "printf("%08x ",uVar28);" (call_expression "printf("%08x ",uVar28)" identifier (argument_list "("%08x ",uVar28)" ( (string_literal ""%08x "" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x4:\n_L4120:\n                    puVar26 = puVar37 + 5;\n                    if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }\nLAB_00064ae3:\n                    puVar37 = puVar37 + 9;\n                    printf("%08x ",uVar28,puVar50);\n                    break;" case (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L4120:\n                    puVar26 = puVar37 + 5;" statement_identifier : (expression_statement "puVar26 = puVar37 + 5;" (assignment_expression "puVar26 = puVar37 + 5" identifier = (binary_expression "puVar37 + 5" identifier + number_literal)) ;)) (if_statement "if (puVar26 < puVar34) {\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }\n                    else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }" if (parenthesized_expression "(puVar26 < puVar34)" ( (binary_expression "puVar26 < puVar34" identifier < identifier) )) (compound_statement "{\n                      eVar44 = (*byte_get)(puVar24,4);\n                      printf("%08x ",(int)eVar44);\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) goto LAB_00064ad0;\n                      iVar20 = (int)puVar34 - (int)puVar26;\n                      if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }\nLAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);\n                      uVar28 = (undefined4)eVar44;\n                    }" { (expression_statement "eVar44 = (*byte_get)(puVar24,4);" (assignment_expression "eVar44 = (*byte_get)(puVar24,4)" identifier = (call_expression "(*byte_get)(puVar24,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar24,4)" ( identifier , number_literal )))) ;) (expression_statement "printf("%08x ",(int)eVar44);" (call_expression "printf("%08x ",(int)eVar44)" identifier (argument_list "("%08x ",(int)eVar44)" ( (string_literal ""%08x "" " string_content ") , (cast_expression "(int)eVar44" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "puVar27 = puVar50;" (assignment_expression "puVar27 = puVar50" identifier = identifier) ;) (if_statement "if (puVar37 + 9 < puVar34) goto LAB_00064ad0;" if (parenthesized_expression "(puVar37 + 9 < puVar34)" ( (binary_expression "puVar37 + 9 < puVar34" (binary_expression "puVar37 + 9" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00064ad0;" goto statement_identifier ;)) (expression_statement "iVar20 = (int)puVar34 - (int)puVar26;" (assignment_expression "iVar20 = (int)puVar34 - (int)puVar26" identifier = (binary_expression "(int)puVar34 - (int)puVar26" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (7 < iVar20 - 1U) {\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }" if (parenthesized_expression "(7 < iVar20 - 1U)" ( (binary_expression "7 < iVar20 - 1U" number_literal < (binary_expression "iVar20 - 1U" identifier - number_literal)) )) (compound_statement "{\n                        uVar28 = 0;\n                        goto LAB_00064ae3;\n                      }" { (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00064ae3;" goto statement_identifier ;) })) (labeled_statement "LAB_00064ad5:\n                      eVar44 = (*byte_get)(puVar26,iVar20);" statement_identifier : (expression_statement "eVar44 = (*byte_get)(puVar26,iVar20);" (assignment_expression "eVar44 = (*byte_get)(puVar26,iVar20)" identifier = (call_expression "(*byte_get)(puVar26,iVar20)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar26,iVar20)" ( identifier , identifier )))) ;)) (expression_statement "uVar28 = (undefined4)eVar44;" (assignment_expression "uVar28 = (undefined4)eVar44" identifier = (cast_expression "(undefined4)eVar44" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) }) (else_clause "else {\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }" else (compound_statement "{\n                      if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar28 = 0;\n                      puVar27 = puVar50;\n                      if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }\n                    }" { (if_statement "if (puVar24 < puVar34) {\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }" if (parenthesized_expression "(puVar24 < puVar34)" ( (binary_expression "puVar24 < puVar34" identifier < identifier) )) (compound_statement "{\n                        puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);\n                        if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }\n                      }" { (expression_statement "puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1);" (assignment_expression "puVar27 = (uchar *)(((int)puVar34 - (int)puVar24) - 1)" identifier = (cast_expression "(uchar *)(((int)puVar34 - (int)puVar24) - 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar34 - (int)puVar24) - 1)" ( (binary_expression "((int)puVar34 - (int)puVar24) - 1" (parenthesized_expression "((int)puVar34 - (int)puVar24)" ( (binary_expression "(int)puVar34 - (int)puVar24" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) )))) ;) (if_statement "if (puVar27 < (uchar *)0x8) {\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }" if (parenthesized_expression "(puVar27 < (uchar *)0x8)" ( (binary_expression "puVar27 < (uchar *)0x8" identifier < (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                          puVar50 = puVar27;\n                          eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);\n                          printf("%08x ",(int)eVar44,puVar27,puVar50);\n                          uVar28 = 0;\n                          puVar50 = puVar27;\n                          if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;\n                          goto LAB_00064ad0;\n                        }" { (expression_statement "puVar50 = puVar27;" (assignment_expression "puVar50 = puVar27" identifier = identifier) ;) (expression_statement "eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24);" (assignment_expression "eVar44 = (*byte_get)(puVar24,(int)puVar34 - (int)puVar24)" identifier = (call_expression "(*byte_get)(puVar24,(int)puVar34 - (int)puVar24)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar24,(int)puVar34 - (int)puVar24)" ( identifier , (binary_expression "(int)puVar34 - (int)puVar24" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "printf("%08x ",(int)eVar44,puVar27,puVar50);" (call_expression "printf("%08x ",(int)eVar44,puVar27,puVar50)" identifier (argument_list "("%08x ",(int)eVar44,puVar27,puVar50)" ( (string_literal ""%08x "" " string_content ") , (cast_expression "(int)eVar44" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier ))) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "puVar50 = puVar27;" (assignment_expression "puVar50 = puVar27" identifier = identifier) ;) (if_statement "if (puVar34 <= puVar37 + 9) goto LAB_00064ae3;" if (parenthesized_expression "(puVar34 <= puVar37 + 9)" ( (binary_expression "puVar34 <= puVar37 + 9" identifier <= (binary_expression "puVar37 + 9" identifier + number_literal)) )) (goto_statement "goto LAB_00064ae3;" goto statement_identifier ;)) (goto_statement "goto LAB_00064ad0;" goto statement_identifier ;) })) })) (expression_statement "printf("%08x ",0);" (call_expression "printf("%08x ",0)" identifier (argument_list "("%08x ",0)" ( (string_literal ""%08x "" " string_content ") , number_literal ))) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "puVar27 = puVar50;" (assignment_expression "puVar27 = puVar50" identifier = identifier) ;) (if_statement "if (puVar37 + 9 < puVar34) {\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }" if (parenthesized_expression "(puVar37 + 9 < puVar34)" ( (binary_expression "puVar37 + 9 < puVar34" (binary_expression "puVar37 + 9" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_00064ad0:\n                        iVar20 = 4;\n                        puVar50 = puVar27;\n                        goto LAB_00064ad5;\n                      }" { (labeled_statement "LAB_00064ad0:\n                        iVar20 = 4;" statement_identifier : (expression_statement "iVar20 = 4;" (assignment_expression "iVar20 = 4" identifier = number_literal) ;)) (expression_statement "puVar50 = puVar27;" (assignment_expression "puVar50 = puVar27" identifier = identifier) ;) (goto_statement "goto LAB_00064ad5;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00064ae3:\n                    puVar37 = puVar37 + 9;" statement_identifier : (expression_statement "puVar37 = puVar37 + 9;" (assignment_expression "puVar37 = puVar37 + 9" identifier = (binary_expression "puVar37 + 9" identifier + number_literal)) ;)) (expression_statement "printf("%08x ",uVar28,puVar50);" (call_expression "printf("%08x ",uVar28,puVar50)" identifier (argument_list "("%08x ",uVar28,puVar50)" ( (string_literal ""%08x "" " string_content ") , identifier , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    goto switchD_000648e8_caseD_3;" default : (goto_statement "goto switchD_000648e8_caseD_3;" goto statement_identifier ;)) })) (expression_statement "puVar24 = puVar37 + 2;" (assignment_expression "puVar24 = puVar37 + 2" identifier = (binary_expression "puVar37 + 2" identifier + number_literal)) ;) (if_statement "if (puVar34 < puVar24) goto LAB_00064ec7;" if (parenthesized_expression "(puVar34 < puVar24)" ( (binary_expression "puVar34 < puVar24" identifier < identifier) )) (goto_statement "goto LAB_00064ec7;" goto statement_identifier ;)) (if_statement "if ((puVar24 == puVar34) && (puVar34 <= puVar37)) {\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }\n                  else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }" if (parenthesized_expression "((puVar24 == puVar34) && (puVar34 <= puVar37))" ( (binary_expression "(puVar24 == puVar34) && (puVar34 <= puVar37)" (parenthesized_expression "(puVar24 == puVar34)" ( (binary_expression "puVar24 == puVar34" identifier == identifier) )) && (parenthesized_expression "(puVar34 <= puVar37)" ( (binary_expression "puVar34 <= puVar37" identifier <= identifier) ))) )) (compound_statement "{\n                    local_34 = 0;\n                    puVar37 = puVar34;\n                  }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "puVar37 = puVar34;" (assignment_expression "puVar37 = puVar34" identifier = identifier) ;) }) (else_clause "else {\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }" else (compound_statement "{\n                    eVar44 = (*byte_get)(puVar37,2);\n                    puVar37 = puVar24 + ((uint)eVar44 & 0xffff);\n                    if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }\n                    local_34 = (uint)eVar44 & 0xffff;\n                  }" { (expression_statement "eVar44 = (*byte_get)(puVar37,2);" (assignment_expression "eVar44 = (*byte_get)(puVar37,2)" identifier = (call_expression "(*byte_get)(puVar37,2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar37,2)" ( identifier , number_literal )))) ;) (expression_statement "puVar37 = puVar24 + ((uint)eVar44 & 0xffff);" (assignment_expression "puVar37 = puVar24 + ((uint)eVar44 & 0xffff)" identifier = (binary_expression "puVar24 + ((uint)eVar44 & 0xffff)" identifier + (parenthesized_expression "((uint)eVar44 & 0xffff)" ( (binary_expression "(uint)eVar44 & 0xffff" (cast_expression "(uint)eVar44" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (puVar34 < puVar37) {\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }" if (parenthesized_expression "(puVar34 < puVar37)" ( (binary_expression "puVar34 < puVar37" identifier < identifier) )) (compound_statement "{\n                      puVar50 = (uchar *)0x5;\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );\n                      warn(pcVar14);\n                      start = puVar24;\n                      vstart = puVar39;\n                      goto LAB_000637dc;\n                    }" { (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 );" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 )" identifier = (cast_expression "(char *)dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 )" identifier (argument_list "(0,\n                                                  "Location list starting at offset 0x%lx is not terminated.\n"\n                                                 )" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "start = puVar24;" (assignment_expression "start = puVar24" identifier = identifier) ;) (expression_statement "vstart = puVar39;" (assignment_expression "vstart = puVar39" identifier = identifier) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (expression_statement "local_34 = (uint)eVar44 & 0xffff;" (assignment_expression "local_34 = (uint)eVar44 & 0xffff" identifier = (binary_expression "(uint)eVar44 & 0xffff" (cast_expression "(uint)eVar44" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) }))) (expression_statement "putc(0x28,*(FILE **)puVar8);" (call_expression "putc(0x28,*(FILE **)puVar8)" identifier (argument_list "(0x28,*(FILE **)puVar8)" ( number_literal , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section);" (assignment_expression "iVar20 = decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section)" identifier = (call_expression "decode_location_expression\n                                     (puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section)" identifier (argument_list "(puVar24,(uint)puVar13,uVar40,iVar5,(ulonglong)local_34,\n                                      (ulonglong)(uint)dVar7,section)" ( identifier , (cast_expression "(uint)puVar13" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier , identifier , (cast_expression "(ulonglong)local_34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) , (cast_expression "(ulonglong)(uint)dVar7" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)dVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier )))) ;) (expression_statement "putc(0x29,*(FILE **)puVar8);" (call_expression "putc(0x29,*(FILE **)puVar8)" identifier (argument_list "(0x29,*(FILE **)puVar8)" ( number_literal , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }" if (parenthesized_expression "((iVar20 != 0) && (iVar31 == 0))" ( (binary_expression "(iVar20 != 0) && (iVar31 == 0)" (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                    pcVar14 = " [without DW_AT_frame_base]";\n                    puVar50 = (uchar *)0x5;\n                    pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");\n                    printf(pcVar29,pcVar14,puVar50);\n                  }" { (expression_statement "pcVar14 = " [without DW_AT_frame_base]";" (assignment_expression "pcVar14 = " [without DW_AT_frame_base]"" identifier = (string_literal "" [without DW_AT_frame_base]"" " string_content ")) ;) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]");" (assignment_expression "pcVar29 = (char *)dcgettext(0," [without DW_AT_frame_base]")" identifier = (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," [without DW_AT_frame_base]")" identifier (argument_list "(0," [without DW_AT_frame_base]")" ( number_literal , (string_literal "" [without DW_AT_frame_base]"" " string_content ") ))))) ;) (expression_statement "printf(pcVar29,pcVar14,puVar50);" (call_expression "printf(pcVar29,pcVar14,puVar50)" identifier (argument_list "(pcVar29,pcVar14,puVar50)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "putc(10,*(FILE **)puVar8);" (call_expression "putc(10,*(FILE **)puVar8)" identifier (argument_list "(10,*(FILE **)puVar8)" ( number_literal , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5)" identifier = (cast_expression "(char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5)" identifier (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "puVar50 = local_8c;" (assignment_expression "puVar50 = local_8c" identifier = identifier) ;) (expression_statement "warn(pcVar14,puVar13,local_8c);" (call_expression "warn(pcVar14,puVar13,local_8c)" identifier (argument_list "(pcVar14,puVar13,local_8c)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar18 = (char *)puVar13;" (assignment_expression "pcVar18 = (char *)puVar13" identifier = (cast_expression "(char *)puVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }" else (compound_statement "{\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,pcVar14);\n              pcVar18 = (char *)local_8c;\n              warn(pcVar14);\n            }" { (expression_statement "pcVar14 = "No debug information for loc lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information for loc lists of entry: %u\n"" identifier = (string_literal ""No debug information for loc lists of entry: %u\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00064bdb:\n              puVar50 = (uchar *)0x5;" statement_identifier : (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar14 = (char *)dcgettext(0,pcVar14);" (assignment_expression "pcVar14 = (char *)dcgettext(0,pcVar14)" identifier = (cast_expression "(char *)dcgettext(0,pcVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar14)" identifier (argument_list "(0,pcVar14)" ( number_literal , identifier ))))) ;) (expression_statement "pcVar18 = (char *)local_8c;" (assignment_expression "pcVar18 = (char *)local_8c" identifier = (cast_expression "(char *)local_8c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }))))) }) (else_clause "else if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }" else (if_statement "if (local_68 == 0) {\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }\n          else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }" if (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) (compound_statement "{\n            if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            pdVar19 = debug_information + (int)local_8c;\n            puVar34 = (uchar *)pdVar19->pointer_size;\n            if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }\n          }" { (if_statement "if (num_debug_info_entries <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }" if (parenthesized_expression "(num_debug_info_entries <= local_8c)" ( (binary_expression "num_debug_info_entries <= local_8c" identifier <= identifier) )) (compound_statement "{\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }" { (expression_statement "pcVar14 = "No debug information available for loclists lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information available for loclists lists of entry: %u\n"" identifier = (string_literal ""No debug information available for loclists lists of entry: %u\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00064bdb;" goto statement_identifier ;) })) (expression_statement "pdVar19 = debug_information + (int)local_8c;" (assignment_expression "pdVar19 = debug_information + (int)local_8c" identifier = (binary_expression "debug_information + (int)local_8c" identifier + (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar34 = (uchar *)pdVar19->pointer_size;" (assignment_expression "puVar34 = (uchar *)pdVar19->pointer_size" identifier = (cast_expression "(uchar *)pdVar19->pointer_size" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pdVar19->pointer_size" identifier -> field_identifier))) ;) (if_statement "if (puVar34 + -2 < (uchar *)0x7) {\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }\n            else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }" if (parenthesized_expression "(puVar34 + -2 < (uchar *)0x7)" ( (binary_expression "puVar34 + -2 < (uchar *)0x7" (binary_expression "puVar34 + -2" identifier + number_literal) < (cast_expression "(uchar *)0x7" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar46 = 0xffffffffffffffff;\n              local_dc = 0xffffffff;\n              dVar7 = pdVar19->cu_offset;\n              local_c8 = -1;\n              puVar37 = section->start + (int)section->size;\n              uVar40 = pdVar19->offset_size;\n              iVar5 = pdVar19->dwarf_version;\n              puVar13 = puVar36;\n              local_f4 = local_ec;\n              puVar50 = puVar12;\n              while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }\n              puVar50 = (uchar *)0x5;\n              pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );\n              warn(pcVar14);\nLAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }\n              start = puVar13;\n              vstart = local_f4;\n            }" { (expression_statement "uVar46 = 0xffffffffffffffff;" (assignment_expression "uVar46 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "local_dc = 0xffffffff;" (assignment_expression "local_dc = 0xffffffff" identifier = number_literal) ;) (expression_statement "dVar7 = pdVar19->cu_offset;" (assignment_expression "dVar7 = pdVar19->cu_offset" identifier = (field_expression "pdVar19->cu_offset" identifier -> field_identifier)) ;) (expression_statement "local_c8 = -1;" (assignment_expression "local_c8 = -1" identifier = number_literal) ;) (expression_statement "puVar37 = section->start + (int)section->size;" (assignment_expression "puVar37 = section->start + (int)section->size" identifier = (binary_expression "section->start + (int)section->size" (field_expression "section->start" identifier -> field_identifier) + (cast_expression "(int)section->size" ( (type_descriptor "int" primitive_type) ) (field_expression "section->size" identifier -> field_identifier)))) ;) (expression_statement "uVar40 = pdVar19->offset_size;" (assignment_expression "uVar40 = pdVar19->offset_size" identifier = (field_expression "pdVar19->offset_size" identifier -> field_identifier)) ;) (expression_statement "iVar5 = pdVar19->dwarf_version;" (assignment_expression "iVar5 = pdVar19->dwarf_version" identifier = (field_expression "pdVar19->dwarf_version" identifier -> field_identifier)) ;) (expression_statement "puVar13 = puVar36;" (assignment_expression "puVar13 = puVar36" identifier = identifier) ;) (expression_statement "local_f4 = local_ec;" (assignment_expression "local_f4 = local_ec" identifier = identifier) ;) (expression_statement "puVar50 = puVar12;" (assignment_expression "puVar50 = puVar12" identifier = identifier) ;) (while_statement "while( true ) {\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                puVar39 = puVar13 + 1;\n                uVar45 = CONCAT44(local_c8,(int)local_dc);\n                if (puVar37 < puVar39) break;\n                printf("    %8.8lx ",puVar12);\n                if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }\n                eVar44 = (*byte_get)(puVar13,1);\n                puVar12 = (uchar *)eVar44;\n                if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }\n                puVar12 = puVar50 + ((int)puVar13 - (int)start);\n              }" { (expression_statement "puVar39 = puVar13 + 1;" (assignment_expression "puVar39 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) (expression_statement "uVar45 = CONCAT44(local_c8,(int)local_dc);" (assignment_expression "uVar45 = CONCAT44(local_c8,(int)local_dc)" identifier = (call_expression "CONCAT44(local_c8,(int)local_dc)" identifier (argument_list "(local_c8,(int)local_dc)" ( identifier , (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (puVar37 < puVar39) break;" if (parenthesized_expression "(puVar37 < puVar39)" ( (binary_expression "puVar37 < puVar39" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "printf("    %8.8lx ",puVar12);" (call_expression "printf("    %8.8lx ",puVar12)" identifier (argument_list "("    %8.8lx ",puVar12)" ( (string_literal ""    %8.8lx "" " string_content ") , identifier ))) ;) (if_statement "if ((puVar37 == puVar39) && (puVar37 <= puVar13)) {\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }" if (parenthesized_expression "((puVar37 == puVar39) && (puVar37 <= puVar13))" ( (binary_expression "(puVar37 == puVar39) && (puVar37 <= puVar13)" (parenthesized_expression "(puVar37 == puVar39)" ( (binary_expression "puVar37 == puVar39" identifier == identifier) )) && (parenthesized_expression "(puVar37 <= puVar13)" ( (binary_expression "puVar37 <= puVar13" identifier <= identifier) ))) )) (compound_statement "{\nLAB_000639ce:\n                  pcVar18 = "<End of list>\n";\n                  puVar50 = (uchar *)0x5;\n                  pcVar14 = (char *)dcgettext(0);\n                  printf(pcVar14,pcVar18,puVar50);\n                  puVar13 = puVar39;\n                  goto LAB_000639ec;\n                }" { (labeled_statement "LAB_000639ce:\n                  pcVar18 = "<End of list>\n";" statement_identifier : (expression_statement "pcVar18 = "<End of list>\n";" (assignment_expression "pcVar18 = "<End of list>\n"" identifier = (string_literal ""<End of list>\n"" " string_content escape_sequence ")) ;)) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0);" (assignment_expression "pcVar14 = (char *)dcgettext(0)" identifier = (cast_expression "(char *)dcgettext(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "printf(pcVar14,pcVar18,puVar50);" (call_expression "printf(pcVar14,pcVar18,puVar50)" identifier (argument_list "(pcVar14,pcVar18,puVar50)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar13 = puVar39;" (assignment_expression "puVar13 = puVar39" identifier = identifier) ;) (goto_statement "goto LAB_000639ec;" goto statement_identifier ;) })) (expression_statement "eVar44 = (*byte_get)(puVar13,1);" (assignment_expression "eVar44 = (*byte_get)(puVar13,1)" identifier = (call_expression "(*byte_get)(puVar13,1)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar13,1)" ( identifier , number_literal )))) ;) (expression_statement "puVar12 = (uchar *)eVar44;" (assignment_expression "puVar12 = (uchar *)eVar44" identifier = (cast_expression "(uchar *)eVar44" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)) {\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }" if (parenthesized_expression "((local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4))" ( (binary_expression "(local_f4 == (uchar *)0x0) || (puVar12 != (uchar *)0x4)" (parenthesized_expression "(local_f4 == (uchar *)0x0)" ( (binary_expression "local_f4 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar12 != (uchar *)0x4)" ( (binary_expression "puVar12 != (uchar *)0x4" identifier != (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                  if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;\n                  if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }\n                  if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }" { (if_statement "if (puVar12 == (uchar *)0x4) goto LAB_00063b0b;" if (parenthesized_expression "(puVar12 == (uchar *)0x4)" ( (binary_expression "puVar12 == (uchar *)0x4" identifier == (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00063b0b;" goto statement_identifier ;)) (if_statement "if (puVar12 < (uchar *)0x5) {\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }" if (parenthesized_expression "(puVar12 < (uchar *)0x5)" ( (binary_expression "puVar12 < (uchar *)0x5" identifier < (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    if (puVar12 == (uchar *)0x0) goto LAB_000639ce;\nLAB_00063e0a:\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");\n                    error(pcVar14);\n                    pcVar18 = (char *)puVar12;\n                    goto LAB_000637dc;\n                  }" { (if_statement "if (puVar12 == (uchar *)0x0) goto LAB_000639ce;" if (parenthesized_expression "(puVar12 == (uchar *)0x0)" ( (binary_expression "puVar12 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000639ce;" goto statement_identifier ;)) (labeled_statement "LAB_00063e0a:\n                    puVar50 = (uchar *)0x5;" statement_identifier : (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n");" (assignment_expression "pcVar14 = (char *)dcgettext(0,"Invalid location list entry type %d\n")" identifier = (cast_expression "(char *)dcgettext(0,"Invalid location list entry type %d\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Invalid location list entry type %d\n")" identifier (argument_list "(0,"Invalid location list entry type %d\n")" ( number_literal , (string_literal ""Invalid location list entry type %d\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "error(pcVar14);" (call_expression "error(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "pcVar18 = (char *)puVar12;" (assignment_expression "pcVar18 = (char *)puVar12" identifier = (cast_expression "(char *)puVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (if_statement "if (puVar12 == (uchar *)0x6) {\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }" if (parenthesized_expression "(puVar12 == (uchar *)0x6)" ( (binary_expression "puVar12 == (uchar *)0x6" identifier == (cast_expression "(uchar *)0x6" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    puVar13 = puVar39 + (int)puVar34;\n                    puVar12 = puVar34;\n                    if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }\n                    print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);\n                    pcVar14 = "(base address)\n";\n                  }" { (expression_statement "puVar13 = puVar39 + (int)puVar34;" (assignment_expression "puVar13 = puVar39 + (int)puVar34" identifier = (binary_expression "puVar39 + (int)puVar34" identifier + (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar12 = puVar34;" (assignment_expression "puVar12 = puVar34" identifier = identifier) ;) (if_statement "if ((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))) {\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }" if (parenthesized_expression "((puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8))))" ( (binary_expression "(puVar13 < puVar37) ||\n                       ((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))" (parenthesized_expression "(puVar13 < puVar37)" ( (binary_expression "puVar13 < puVar37" identifier < identifier) )) || (parenthesized_expression "((local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)))" ( (parenthesized_expression "(local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8))" ( (comma_expression "local_e4 = 0, puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)" (assignment_expression "local_e4 = 0" identifier = number_literal) , (binary_expression "puVar39 < puVar37 &&\n                        (puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)" (binary_expression "puVar39 < puVar37" identifier < identifier) && (parenthesized_expression "(puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8)" ( (comma_expression "puVar12 = puVar37 + -(int)puVar39,\n                        puVar37 + -(int)puVar39 + -1 < (uchar *)0x8" (assignment_expression "puVar12 = puVar37 + -(int)puVar39" identifier = (binary_expression "puVar37 + -(int)puVar39" identifier + (unary_expression "-(int)puVar39" - (cast_expression "(int)puVar39" ( (type_descriptor "int" primitive_type) ) identifier)))) , (binary_expression "puVar37 + -(int)puVar39 + -1 < (uchar *)0x8" (binary_expression "puVar37 + -(int)puVar39 + -1" (binary_expression "puVar37 + -(int)puVar39" identifier + (unary_expression "-(int)puVar39" - (cast_expression "(int)puVar39" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal) < (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) ))) )) (compound_statement "{\n                      local_e4 = (*byte_get)(puVar39,(int)puVar12);\n                    }" { (expression_statement "local_e4 = (*byte_get)(puVar39,(int)puVar12);" (assignment_expression "local_e4 = (*byte_get)(puVar39,(int)puVar12)" identifier = (call_expression "(*byte_get)(puVar39,(int)puVar12)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar39,(int)puVar12)" ( identifier , (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) })) (expression_statement "print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4);" (call_expression "print_dwarf_vma(CONCAT44(uVar35,puVar50),(uint)local_e4)" identifier (argument_list "(CONCAT44(uVar35,puVar50),(uint)local_e4)" ( (call_expression "CONCAT44(uVar35,puVar50)" identifier (argument_list "(uVar35,puVar50)" ( identifier , identifier ))) , (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (expression_statement "pcVar14 = "(base address)\n";" (assignment_expression "pcVar14 = "(base address)\n"" identifier = (string_literal ""(base address)\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }" else (compound_statement "{\n                    if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;\n                    if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    puVar12 = puVar39;\n                    puVar49 = &bytes_read;\n                    dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    local_c8 = (uint)(dVar47 >> 0x20);\n                    puVar39 = puVar39 + bytes_read;\n                    local_dc = dVar47 & 0xffffffff;\n                    print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);\n                    uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);\n                    puVar13 = puVar39 + bytes_read;\n                    print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                    pcVar14 = "views for:\n";\n                  }" { (if_statement "if (puVar12 != (uchar *)0x9) goto LAB_00063e0a;" if (parenthesized_expression "(puVar12 != (uchar *)0x9)" ( (binary_expression "puVar12 != (uchar *)0x9" identifier != (cast_expression "(uchar *)0x9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00063e0a;" goto statement_identifier ;)) (if_statement "if (local_f4 != (uchar *)0x0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }" if (parenthesized_expression "(local_f4 != (uchar *)0x0)" ( (binary_expression "local_f4 != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" identifier (argument_list "(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" ( number_literal , (string_literal ""View pair entry in loclist with locviews attribute\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "puVar12 = puVar39;" (assignment_expression "puVar12 = puVar39" identifier = identifier) ;) (expression_statement "puVar49 = &bytes_read;" (assignment_expression "puVar49 = &bytes_read" identifier = (pointer_expression "&bytes_read" & identifier)) ;) (expression_statement "dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37);" (assignment_expression "dVar47 = read_leb128(puVar39,&bytes_read,0,puVar37)" identifier = (call_expression "read_leb128(puVar39,&bytes_read,0,puVar37)" identifier (argument_list "(puVar39,&bytes_read,0,puVar37)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "local_c8 = (uint)(dVar47 >> 0x20);" (assignment_expression "local_c8 = (uint)(dVar47 >> 0x20)" identifier = (call_expression "(uint)(dVar47 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "puVar39 = puVar39 + bytes_read;" (assignment_expression "puVar39 = puVar39 + bytes_read" identifier = (binary_expression "puVar39 + bytes_read" identifier + identifier)) ;) (expression_statement "local_dc = dVar47 & 0xffffffff;" (assignment_expression "local_dc = dVar47 & 0xffffffff" identifier = (binary_expression "dVar47 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8);" (call_expression "print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8)" identifier (argument_list "(CONCAT44(puVar49,puVar12),(uint)dVar47,local_c8)" ( (call_expression "CONCAT44(puVar49,puVar12)" identifier (argument_list "(puVar49,puVar12)" ( identifier , identifier ))) , (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))) ;) (expression_statement "uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37);" (assignment_expression "uVar46 = read_leb128(puVar39,&bytes_read,0,puVar37)" identifier = (call_expression "read_leb128(puVar39,&bytes_read,0,puVar37)" identifier (argument_list "(puVar39,&bytes_read,0,puVar37)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar13 = puVar39 + bytes_read;" (assignment_expression "puVar13 = puVar39 + bytes_read" identifier = (binary_expression "puVar39 + bytes_read" identifier + identifier)) ;) (expression_statement "print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));" (call_expression "print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20))" identifier (argument_list "(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20))" ( (call_expression "CONCAT44(uVar35,puVar50)" identifier (argument_list "(uVar35,puVar50)" ( identifier , identifier ))) , (cast_expression "(uint)uVar46" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(int)(uVar46 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar46 >> 0x20)" ( (binary_expression "uVar46 >> 0x20" identifier >> number_literal) ))) ))) ;) (expression_statement "pcVar14 = "views for:\n";" (assignment_expression "pcVar14 = "views for:\n"" identifier = (string_literal ""views for:\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "pcVar14 = (char *)dcgettext(0,pcVar14,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,pcVar14,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar14,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }) (else_clause "else {\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }" else (compound_statement "{\n                  puVar13 = puVar50 + ((int)local_f4 - (int)start);\n                  puVar12 = local_f4;\n                  puVar49 = &bytes_read;\n                  uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));\n                  uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);\n                  local_f4 = local_f4 + bytes_read;\n                  print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,puVar13,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);\n                  local_dc._0_4_ = (uint)uVar45;\n                  local_b0 = (uint)(uVar46 >> 0x20);\n                  local_bc = (uint)uVar46;\n                  puVar49 = &bytes_read;\n                  dVar47 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar39 = puVar39 + bytes_read;\n                  dVar48 = read_leb128(puVar39,puVar49,0,puVar37);\n                  puVar13 = puVar39 + bytes_read;\n                  if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }\n                  puVar12 = puVar13;\n                  length = read_leb128(puVar13,puVar49,0,puVar37);\n                  puVar13 = puVar13 + bytes_read;\n                  local_fc = (uint)dVar47;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);\n                  local_ac._0_4_ = (uint)dVar48;\n                  print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);\n                  putc(0x28,*(FILE **)puVar8);\n                  local_7c = (int)length;\n                  iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);\n                  putc(0x29,*(FILE **)puVar8);\n                  if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  local_ac._4_4_ = (uint)(dVar48 >> 0x20);\n                  local_f8 = (uint)(dVar47 >> 0x20);\n                  pFVar33 = *(FILE **)puVar8;\n                  if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }\n                  putc(10,pFVar33);\n                  puVar13 = puVar13 + local_7c;\n                  uVar46 = 0xffffffffffffffff;\n                  local_dc = 0xffffffff;\n                  local_c8 = -1;\n                }" { (expression_statement "puVar13 = puVar50 + ((int)local_f4 - (int)start);" (assignment_expression "puVar13 = puVar50 + ((int)local_f4 - (int)start)" identifier = (binary_expression "puVar50 + ((int)local_f4 - (int)start)" identifier + (parenthesized_expression "((int)local_f4 - (int)start)" ( (binary_expression "(int)local_f4 - (int)start" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)start" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar12 = local_f4;" (assignment_expression "puVar12 = local_f4" identifier = identifier) ;) (expression_statement "puVar49 = &bytes_read;" (assignment_expression "puVar49 = &bytes_read" identifier = (pointer_expression "&bytes_read" & identifier)) ;) (expression_statement "uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37);" (assignment_expression "uVar45 = read_leb128(local_f4,&bytes_read,0,puVar37)" identifier = (call_expression "read_leb128(local_f4,&bytes_read,0,puVar37)" identifier (argument_list "(local_f4,&bytes_read,0,puVar37)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "local_f4 = local_f4 + bytes_read;" (assignment_expression "local_f4 = local_f4 + bytes_read" identifier = (binary_expression "local_f4 + bytes_read" identifier + identifier)) ;) (expression_statement "print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20));" (call_expression "print_dwarf_view(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20))" identifier (argument_list "(CONCAT44(puVar49,puVar12),(uint)uVar45,(int)(uVar45 >> 0x20))" ( (call_expression "CONCAT44(puVar49,puVar12)" identifier (argument_list "(puVar49,puVar12)" ( identifier , identifier ))) , (cast_expression "(uint)uVar45" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(int)(uVar45 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar45 >> 0x20)" ( (binary_expression "uVar45 >> 0x20" identifier >> number_literal) ))) ))) ;) (expression_statement "uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37);" (assignment_expression "uVar46 = read_leb128(local_f4,&bytes_read,0,puVar37)" identifier = (call_expression "read_leb128(local_f4,&bytes_read,0,puVar37)" identifier (argument_list "(local_f4,&bytes_read,0,puVar37)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "local_f4 = local_f4 + bytes_read;" (assignment_expression "local_f4 = local_f4 + bytes_read" identifier = (binary_expression "local_f4 + bytes_read" identifier + identifier)) ;) (expression_statement "print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20));" (call_expression "print_dwarf_view(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20))" identifier (argument_list "(CONCAT44(uVar35,puVar50),(uint)uVar46,(int)(uVar46 >> 0x20))" ( (call_expression "CONCAT44(uVar35,puVar50)" identifier (argument_list "(uVar35,puVar50)" ( identifier , identifier ))) , (cast_expression "(uint)uVar46" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(int)(uVar46 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar46 >> 0x20)" ( (binary_expression "uVar46 >> 0x20" identifier >> number_literal) ))) ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier = (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" ( number_literal , (string_literal ""views at %8.8lx for:\n    %*s "" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,puVar13,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,puVar13,8,&DAT_0007bc55)" identifier (argument_list "(pcVar14,puVar13,8,&DAT_0007bc55)" ( identifier , identifier , number_literal , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (labeled_statement "LAB_00063b0b:\n                  local_c8 = (uint)(uVar45 >> 0x20);" statement_identifier : (expression_statement "local_c8 = (uint)(uVar45 >> 0x20);" (assignment_expression "local_c8 = (uint)(uVar45 >> 0x20)" identifier = (call_expression "(uint)(uVar45 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar45 >> 0x20)" ( (binary_expression "uVar45 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "local_dc._0_4_ = (uint)uVar45;" (assignment_expression "local_dc._0_4_ = (uint)uVar45" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(uint)uVar45" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_b0 = (uint)(uVar46 >> 0x20);" (assignment_expression "local_b0 = (uint)(uVar46 >> 0x20)" identifier = (call_expression "(uint)(uVar46 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar46 >> 0x20)" ( (binary_expression "uVar46 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_bc = (uint)uVar46;" (assignment_expression "local_bc = (uint)uVar46" identifier = (cast_expression "(uint)uVar46" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar49 = &bytes_read;" (assignment_expression "puVar49 = &bytes_read" identifier = (pointer_expression "&bytes_read" & identifier)) ;) (expression_statement "dVar47 = read_leb128(puVar39,puVar49,0,puVar37);" (assignment_expression "dVar47 = read_leb128(puVar39,puVar49,0,puVar37)" identifier = (call_expression "read_leb128(puVar39,puVar49,0,puVar37)" identifier (argument_list "(puVar39,puVar49,0,puVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "puVar39 = puVar39 + bytes_read;" (assignment_expression "puVar39 = puVar39 + bytes_read" identifier = (binary_expression "puVar39 + bytes_read" identifier + identifier)) ;) (expression_statement "dVar48 = read_leb128(puVar39,puVar49,0,puVar37);" (assignment_expression "dVar48 = read_leb128(puVar39,puVar49,0,puVar37)" identifier = (call_expression "read_leb128(puVar39,puVar49,0,puVar37)" identifier (argument_list "(puVar39,puVar49,0,puVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "puVar13 = puVar39 + bytes_read;" (assignment_expression "puVar13 = puVar39 + bytes_read" identifier = (binary_expression "puVar39 + bytes_read" identifier + identifier)) ;) (if_statement "if (puVar37 < puVar13 + 2) {\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }" if (parenthesized_expression "(puVar37 < puVar13 + 2)" ( (binary_expression "puVar37 < puVar13 + 2" identifier < (binary_expression "puVar13 + 2" identifier + number_literal)) )) (compound_statement "{\n                    puVar50 = (uchar *)0x5;\n                    pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );\n                    warn(pcVar14);\n                    goto LAB_000639ec;\n                  }" { (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               );" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               )" identifier = (cast_expression "(char *)dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               )" identifier (argument_list "(0,\n                                                "Location list starting at offset 0x%lx is not terminated.\n"\n                                               )" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (goto_statement "goto LAB_000639ec;" goto statement_identifier ;) })) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (expression_statement "length = read_leb128(puVar13,puVar49,0,puVar37);" (assignment_expression "length = read_leb128(puVar13,puVar49,0,puVar37)" identifier = (call_expression "read_leb128(puVar13,puVar49,0,puVar37)" identifier (argument_list "(puVar13,puVar49,0,puVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "puVar13 = puVar13 + bytes_read;" (assignment_expression "puVar13 = puVar13 + bytes_read" identifier = (binary_expression "puVar13 + bytes_read" identifier + identifier)) ;) (expression_statement "local_fc = (uint)dVar47;" (assignment_expression "local_fc = (uint)dVar47" identifier = (cast_expression "(uint)dVar47" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4);" (call_expression "print_dwarf_vma(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4)" identifier (argument_list "(CONCAT44(puVar49,puVar12),local_fc + (uint)local_e4)" ( (call_expression "CONCAT44(puVar49,puVar12)" identifier (argument_list "(puVar49,puVar12)" ( identifier , identifier ))) , (binary_expression "local_fc + (uint)local_e4" identifier + (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ;) (expression_statement "local_ac._0_4_ = (uint)dVar48;" (assignment_expression "local_ac._0_4_ = (uint)dVar48" (field_expression "local_ac._0_4_" identifier . field_identifier) = (cast_expression "(uint)dVar48" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4);" (call_expression "print_dwarf_vma(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4)" identifier (argument_list "(CONCAT44(puVar49,puVar12),(uint)local_ac + (uint)local_e4)" ( (call_expression "CONCAT44(puVar49,puVar12)" identifier (argument_list "(puVar49,puVar12)" ( identifier , identifier ))) , (binary_expression "(uint)local_ac + (uint)local_e4" (cast_expression "(uint)local_ac" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ;) (expression_statement "putc(0x28,*(FILE **)puVar8);" (call_expression "putc(0x28,*(FILE **)puVar8)" identifier (argument_list "(0x28,*(FILE **)puVar8)" ( number_literal , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "local_7c = (int)length;" (assignment_expression "local_7c = (int)length" identifier = (cast_expression "(int)length" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section);" (assignment_expression "iVar20 = decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section)" identifier = (call_expression "decode_location_expression\n                                     (puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section)" identifier (argument_list "(puVar13,(uint)puVar34,uVar40,iVar5,length,\n                                      (ulonglong)(uint)dVar7,section)" ( identifier , (cast_expression "(uint)puVar34" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier , identifier , identifier , (cast_expression "(ulonglong)(uint)dVar7" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)dVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier )))) ;) (expression_statement "putc(0x29,*(FILE **)puVar8);" (call_expression "putc(0x29,*(FILE **)puVar8)" identifier (argument_list "(0x29,*(FILE **)puVar8)" ( number_literal , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((iVar20 != 0) && (iVar31 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" if (parenthesized_expression "((iVar20 != 0) && (iVar31 == 0))" ( (binary_expression "(iVar20 != 0) && (iVar31 == 0)" (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" { (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" identifier = (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" identifier (argument_list "(0," [without DW_AT_frame_base]",5)" ( number_literal , (string_literal "" [without DW_AT_frame_base]"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "local_ac._4_4_ = (uint)(dVar48 >> 0x20);" (assignment_expression "local_ac._4_4_ = (uint)(dVar48 >> 0x20)" (field_expression "local_ac._4_4_" identifier . field_identifier) = (call_expression "(uint)(dVar48 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dVar48 >> 0x20)" ( (binary_expression "dVar48 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_f8 = (uint)(dVar47 >> 0x20);" (assignment_expression "local_f8 = (uint)(dVar47 >> 0x20)" identifier = (call_expression "(uint)(dVar47 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dVar47 >> 0x20)" ( (binary_expression "dVar47 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "pFVar33 = *(FILE **)puVar8;" (assignment_expression "pFVar33 = *(FILE **)puVar8" identifier = (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)) {\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }\n                  else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }" if (parenthesized_expression "((uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_))" ( (binary_expression "(uVar46 != uVar45) ||\n                     (local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)" (parenthesized_expression "(uVar46 != uVar45)" ( (binary_expression "uVar46 != uVar45" identifier != identifier) )) || (parenthesized_expression "(local_fc != (uint)local_ac || local_f8 != local_ac._4_4_)" ( (binary_expression "local_fc != (uint)local_ac || local_f8 != local_ac._4_4_" (binary_expression "local_fc != (uint)local_ac" identifier != (cast_expression "(uint)local_ac" ( (type_descriptor "uint" type_identifier) ) identifier)) || (binary_expression "local_f8 != local_ac._4_4_" identifier != (field_expression "local_ac._4_4_" identifier . field_identifier))) ))) )) (compound_statement "{\n                    if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }\n                  }" { (if_statement "if ((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }" if (parenthesized_expression "((local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_))))" ( (binary_expression "(local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)) ||\n                       ((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))" (parenthesized_expression "(local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc))" ( (binary_expression "local_ac._4_4_ < local_f8 ||\n                         local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)" (binary_expression "local_ac._4_4_ < local_f8" (field_expression "local_ac._4_4_" identifier . field_identifier) < identifier) || (binary_expression "local_ac._4_4_ - local_f8 < (uint)((uint)local_ac < local_fc)" (binary_expression "local_ac._4_4_ - local_f8" (field_expression "local_ac._4_4_" identifier . field_identifier) - identifier) < (call_expression "(uint)((uint)local_ac < local_fc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_ac < local_fc)" ( (binary_expression "(uint)local_ac < local_fc" (cast_expression "(uint)local_ac" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) )) || (parenthesized_expression "((local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)))" ( (parenthesized_expression "(local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_))" ( (binary_expression "local_b0 < local_c8 ||\n                         local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)" (binary_expression "local_b0 < local_c8" identifier < identifier) || (binary_expression "local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc) &&\n                        (local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)" (binary_expression "local_b0 - local_c8 < (uint)(local_bc < (uint)local_dc)" (binary_expression "local_b0 - local_c8" identifier - identifier) < (call_expression "(uint)(local_bc < (uint)local_dc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc < (uint)local_dc)" ( (binary_expression "local_bc < (uint)local_dc" identifier < (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) && (parenthesized_expression "(local_fc == (uint)local_ac && local_f8 == local_ac._4_4_)" ( (binary_expression "local_fc == (uint)local_ac && local_f8 == local_ac._4_4_" (binary_expression "local_fc == (uint)local_ac" identifier == (cast_expression "(uint)local_ac" ( (type_descriptor "uint" type_identifier) ) identifier)) && (binary_expression "local_f8 == local_ac._4_4_" identifier == (field_expression "local_ac._4_4_" identifier . field_identifier))) )))) )) ))) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar33);\n                      pFVar33 = *(FILE **)puVar8;\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start > end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start > end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start > end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start > end)",5)" identifier (argument_list "(0," (start > end)",5)" ( number_literal , (string_literal "" (start > end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar33);" (call_expression "fputs(pcVar14,pFVar33)" identifier (argument_list "(pcVar14,pFVar33)" ( identifier , identifier ))) ;) (expression_statement "pFVar33 = *(FILE **)puVar8;" (assignment_expression "pFVar33 = *(FILE **)puVar8" identifier = (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) }) (else_clause "else {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }" else (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar33);\n                    pFVar33 = *(FILE **)puVar8;\n                  }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start == end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start == end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start == end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start == end)",5)" identifier (argument_list "(0," (start == end)",5)" ( number_literal , (string_literal "" (start == end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar33);" (call_expression "fputs(pcVar14,pFVar33)" identifier (argument_list "(pcVar14,pFVar33)" ( identifier , identifier ))) ;) (expression_statement "pFVar33 = *(FILE **)puVar8;" (assignment_expression "pFVar33 = *(FILE **)puVar8" identifier = (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }))) (expression_statement "putc(10,pFVar33);" (call_expression "putc(10,pFVar33)" identifier (argument_list "(10,pFVar33)" ( number_literal , identifier ))) ;) (expression_statement "puVar13 = puVar13 + local_7c;" (assignment_expression "puVar13 = puVar13 + local_7c" identifier = (binary_expression "puVar13 + local_7c" identifier + identifier)) ;) (expression_statement "uVar46 = 0xffffffffffffffff;" (assignment_expression "uVar46 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "local_dc = 0xffffffff;" (assignment_expression "local_dc = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_c8 = -1;" (assignment_expression "local_c8 = -1" identifier = number_literal) ;) }))) (expression_statement "puVar12 = puVar50 + ((int)puVar13 - (int)start);" (assignment_expression "puVar12 = puVar50 + ((int)puVar13 - (int)start)" identifier = (binary_expression "puVar50 + ((int)puVar13 - (int)start)" identifier + (parenthesized_expression "((int)puVar13 - (int)start)" ( (binary_expression "(int)puVar13 - (int)start" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)start" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         );" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         )" identifier = (cast_expression "(char *)dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         )" identifier (argument_list "(0,\n                                          "Location list starting at offset 0x%lx is not terminated.\n"\n                                         )" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (labeled_statement "LAB_000639ec:\n              if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }" statement_identifier : (if_statement "if ((uVar46 & uVar45) != 0xffffffffffffffff) {\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }" if (parenthesized_expression "((uVar46 & uVar45) != 0xffffffffffffffff)" ( (binary_expression "(uVar46 & uVar45) != 0xffffffffffffffff" (parenthesized_expression "(uVar46 & uVar45)" ( (binary_expression "uVar46 & uVar45" identifier & identifier) )) != number_literal) )) (compound_statement "{\n                pcVar18 = "Trailing view pair not used in a range";\n                puVar50 = (uchar *)0x5;\n                pcVar14 = (char *)dcgettext(0);\n                printf(pcVar14,pcVar18,puVar50);\n              }" { (expression_statement "pcVar18 = "Trailing view pair not used in a range";" (assignment_expression "pcVar18 = "Trailing view pair not used in a range"" identifier = (string_literal ""Trailing view pair not used in a range"" " string_content ")) ;) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0);" (assignment_expression "pcVar14 = (char *)dcgettext(0)" identifier = (cast_expression "(char *)dcgettext(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "printf(pcVar14,pcVar18,puVar50);" (call_expression "printf(pcVar14,pcVar18,puVar50)" identifier (argument_list "(pcVar14,pcVar18,puVar50)" ( identifier , identifier , identifier ))) ;) }))) (expression_statement "start = puVar13;" (assignment_expression "start = puVar13" identifier = identifier) ;) (expression_statement "vstart = local_f4;" (assignment_expression "vstart = local_f4" identifier = identifier) ;) }) (else_clause "else {\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }" else (compound_statement "{\n              pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);\n              puVar50 = local_8c;\n              warn(pcVar14);\n              pcVar18 = (char *)puVar34;\n            }" { (expression_statement "pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5)" identifier = (cast_expression "(char *)dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5)" identifier (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n"\n                                          ,5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "puVar50 = local_8c;" (assignment_expression "puVar50 = local_8c" identifier = identifier) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "pcVar18 = (char *)puVar34;" (assignment_expression "pcVar18 = (char *)puVar34" identifier = (cast_expression "(char *)puVar34" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) }) (else_clause "else {\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }" else (compound_statement "{\n            pcVar18 = "DWO is not yet supported.\n";\n            puVar50 = (uchar *)0x5;\n            pcVar14 = (char *)dcgettext(0);\n            warn(pcVar14);\n          }" { (expression_statement "pcVar18 = "DWO is not yet supported.\n";" (assignment_expression "pcVar18 = "DWO is not yet supported.\n"" identifier = (string_literal ""DWO is not yet supported.\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0);" (assignment_expression "pcVar14 = (char *)dcgettext(0)" identifier = (cast_expression "(char *)dcgettext(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }))))) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (if_statement "if (local_f0 == (uchar *)0x0) {\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }" if (parenthesized_expression "(local_f0 == (uchar *)0x0)" ( (binary_expression "local_f0 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar35 = *(uint *)((int)pdVar4 + 4);\n          pcVar18 = *(char **)pdVar4;\n          puVar34 = *(uchar **)pdVar3;\n          local_f4 = *(uchar **)((int)pdVar3 + 4);\n          iVar31 = 0;\n          goto LAB_000635f2;\n        }" { (expression_statement "uVar35 = *(uint *)((int)pdVar4 + 4);" (assignment_expression "uVar35 = *(uint *)((int)pdVar4 + 4)" identifier = (pointer_expression "*(uint *)((int)pdVar4 + 4)" * (cast_expression "(uint *)((int)pdVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 4)" ( (binary_expression "(int)pdVar4 + 4" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pcVar18 = *(char **)pdVar4;" (assignment_expression "pcVar18 = *(char **)pdVar4" identifier = (pointer_expression "*(char **)pdVar4" * (cast_expression "(char **)pdVar4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar34 = *(uchar **)pdVar3;" (assignment_expression "puVar34 = *(uchar **)pdVar3" identifier = (pointer_expression "*(uchar **)pdVar3" * (cast_expression "(uchar **)pdVar3" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "local_f4 = *(uchar **)((int)pdVar3 + 4);" (assignment_expression "local_f4 = *(uchar **)((int)pdVar3 + 4)" identifier = (pointer_expression "*(uchar **)((int)pdVar3 + 4)" * (cast_expression "(uchar **)((int)pdVar3 + 4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar3 + 4)" ( (binary_expression "(int)pdVar3 + 4" (cast_expression "(int)pdVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000635f2;" goto statement_identifier ;) })) (expression_statement "local_ec = local_f0;" (assignment_expression "local_ec = local_f0" identifier = identifier) ;) (expression_statement "pcVar18 = *(char **)(pdVar4 + (int)local_f0);" (assignment_expression "pcVar18 = *(char **)(pdVar4 + (int)local_f0)" identifier = (pointer_expression "*(char **)(pdVar4 + (int)local_f0)" * (cast_expression "(char **)(pdVar4 + (int)local_f0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pdVar4 + (int)local_f0)" ( (binary_expression "pdVar4 + (int)local_f0" identifier + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "local_e8 = (int)local_f0 * 8 + -8;" (assignment_expression "local_e8 = (int)local_f0 * 8 + -8" identifier = (binary_expression "(int)local_f0 * 8 + -8" (binary_expression "(int)local_f0 * 8" (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal)) ;) (expression_statement "uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4);" (assignment_expression "uVar35 = *(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4)" identifier = (pointer_expression "*(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4)" * (cast_expression "(uint *)((int)pdVar4 + (int)local_f0 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + (int)local_f0 * 8 + 4)" ( (binary_expression "(int)pdVar4 + (int)local_f0 * 8 + 4" (binary_expression "(int)pdVar4 + (int)local_f0 * 8" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_f0 * 8" (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4);" (assignment_expression "local_f4 = *(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4)" identifier = (pointer_expression "*(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4)" * (cast_expression "(uchar **)((int)pdVar3 + (int)local_f0 * 8 + 4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar3 + (int)local_f0 * 8 + 4)" ( (binary_expression "(int)pdVar3 + (int)local_f0 * 8 + 4" (binary_expression "(int)pdVar3 + (int)local_f0 * 8" (cast_expression "(int)pdVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_f0 * 8" (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "puVar34 = *(uchar **)(pdVar3 + (int)local_f0);" (assignment_expression "puVar34 = *(uchar **)(pdVar3 + (int)local_f0)" identifier = (pointer_expression "*(uchar **)(pdVar3 + (int)local_f0)" * (cast_expression "(uchar **)(pdVar3 + (int)local_f0)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pdVar3 + (int)local_f0)" ( (binary_expression "pdVar3 + (int)local_f0" identifier + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (labeled_statement "LAB_0006389e:\n        if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }" statement_identifier : (if_statement "if (((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))) {\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }" if (parenthesized_expression "(((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8)))" ( (binary_expression "((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)) ||\n           (local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))" (parenthesized_expression "((uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4))" ( (binary_expression "(uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8) ||\n             uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)" (binary_expression "(uchar *)pcVar18 != *(uchar **)((int)pdVar4 + local_e8)" (cast_expression "(uchar *)pcVar18" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (pointer_expression "*(uchar **)((int)pdVar4 + local_e8)" * (cast_expression "(uchar **)((int)pdVar4 + local_e8)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar4 + local_e8)" ( (binary_expression "(int)pdVar4 + local_e8" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) || (binary_expression "uVar35 != *(uint *)((int)pdVar4 + local_e8 + 4)" identifier != (pointer_expression "*(uint *)((int)pdVar4 + local_e8 + 4)" * (cast_expression "(uint *)((int)pdVar4 + local_e8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + local_e8 + 4)" ( (binary_expression "(int)pdVar4 + local_e8 + 4" (binary_expression "(int)pdVar4 + local_e8" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))))) )) || (parenthesized_expression "(local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8))" ( (binary_expression "local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4) ||\n            puVar34 != *(uchar **)((int)pdVar3 + local_e8)" (binary_expression "local_f4 != (uchar *)*(uint *)((int)pdVar3 + local_e8 + 4)" identifier != (cast_expression "(uchar *)*(uint *)((int)pdVar3 + local_e8 + 4)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(uint *)((int)pdVar3 + local_e8 + 4)" * (cast_expression "(uint *)((int)pdVar3 + local_e8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar3 + local_e8 + 4)" ( (binary_expression "(int)pdVar3 + local_e8 + 4" (binary_expression "(int)pdVar3 + local_e8" (cast_expression "(int)pdVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))))) || (binary_expression "puVar34 != *(uchar **)((int)pdVar3 + local_e8)" identifier != (pointer_expression "*(uchar **)((int)pdVar3 + local_e8)" * (cast_expression "(uchar **)((int)pdVar3 + local_e8)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar3 + local_e8)" ( (binary_expression "(int)pdVar3 + local_e8" (cast_expression "(int)pdVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))))) ))) )) (compound_statement "{\n          iVar31 = (int)local_ec << 2;\n          goto LAB_000635f2;\n        }" { (expression_statement "iVar31 = (int)local_ec << 2;" (assignment_expression "iVar31 = (int)local_ec << 2" identifier = (binary_expression "(int)local_ec << 2" (cast_expression "(int)local_ec" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (goto_statement "goto LAB_000635f2;" goto statement_identifier ;) }))) (goto_statement "goto LAB_0006373a;" goto statement_identifier ;) })) (labeled_statement "LAB_00063fc0:\n      local_8c = local_8c + 1;" statement_identifier : (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" identifier = (binary_expression "local_8c + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_8c < num_debug_info_entries)" ( (binary_expression "local_8c < num_debug_info_entries" identifier < identifier) )) ;) })) (if_statement "if (start < section->start + (int)section->size) {\n    iVar31 = (int)(section->start + (int)section->size) - (int)start;\n    pcVar11 = section->name;\n    pcVar14 = (char *)dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(pcVar14,iVar31,pcVar11);\n  }" if (parenthesized_expression "(start < section->start + (int)section->size)" ( (binary_expression "start < section->start + (int)section->size" identifier < (binary_expression "section->start + (int)section->size" (field_expression "section->start" identifier -> field_identifier) + (cast_expression "(int)section->size" ( (type_descriptor "int" primitive_type) ) (field_expression "section->size" identifier -> field_identifier)))) )) (compound_statement "{\n    iVar31 = (int)(section->start + (int)section->size) - (int)start;\n    pcVar11 = section->name;\n    pcVar14 = (char *)dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(pcVar14,iVar31,pcVar11);\n  }" { (expression_statement "iVar31 = (int)(section->start + (int)section->size) - (int)start;" (assignment_expression "iVar31 = (int)(section->start + (int)section->size) - (int)start" identifier = (binary_expression "(int)(section->start + (int)section->size) - (int)start" (cast_expression "(int)(section->start + (int)section->size)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(section->start + (int)section->size)" ( (binary_expression "section->start + (int)section->size" (field_expression "section->start" identifier -> field_identifier) + (cast_expression "(int)section->size" ( (type_descriptor "int" primitive_type) ) (field_expression "section->size" identifier -> field_identifier))) ))) - (cast_expression "(int)start" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar11 = section->name;" (assignment_expression "pcVar11 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar14 = (char *)dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5);" (assignment_expression "pcVar14 = (char *)dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5)" identifier = (cast_expression "(char *)dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5)" identifier (argument_list "(0,"There is %ld unused byte at the end of section %s\n",\n                                 "There are %ld unused bytes at the end of section %s\n",iVar31,5)" ( number_literal , (string_literal ""There is %ld unused byte at the end of section %s\n"" " string_content escape_sequence ") , (string_literal ""There are %ld unused bytes at the end of section %s\n"" " string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "warn(pcVar14,iVar31,pcVar11);" (call_expression "warn(pcVar14,iVar31,pcVar11)" identifier (argument_list "(pcVar14,iVar31,pcVar11)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "putc(10,*(FILE **)puVar8);" (call_expression "putc(10,*(FILE **)puVar8)" identifier (argument_list "(10,*(FILE **)puVar8)" ( number_literal , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "free(local_5c);" (call_expression "free(local_5c)" identifier (argument_list "(local_5c)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) (labeled_statement "LAB_00064ec7:\n  puVar50 = (uchar *)0x5;" statement_identifier : (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar14 = (char *)dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n");" (assignment_expression "pcVar14 = (char *)dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n")" identifier = (cast_expression "(char *)dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n")" identifier (argument_list "(0,"Location list starting at offset 0x%lx is not terminated.\n")" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "start = puVar37;" (assignment_expression "start = puVar37" identifier = identifier) ;) (expression_statement "vstart = puVar39;" (assignment_expression "vstart = puVar39" identifier = identifier) ;) (labeled_statement "LAB_000637dc:\n  if ((bVar42) && (bVar6)) {\n    if (start == local_ec) {\n      bVar42 = true;\n    }\n    else {\n      if (puVar36 == vstart) {\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }\n      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";\n      puVar50 = (uchar *)0x5;\n      pcVar14 = (char *)dcgettext(0);\n      warn(pcVar14);\n      bVar42 = false;\nLAB_00063833:\n      if (start != local_ec) goto LAB_00063844;\n    }\n    display_view_pair_list(section,&start,(uint)vstart,(uchar *)pcVar18);\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }\n  else {\n    if (local_ec != (uchar *)0x0) goto LAB_00063833;\nLAB_00063844:\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }" statement_identifier : (if_statement "if ((bVar42) && (bVar6)) {\n    if (start == local_ec) {\n      bVar42 = true;\n    }\n    else {\n      if (puVar36 == vstart) {\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }\n      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";\n      puVar50 = (uchar *)0x5;\n      pcVar14 = (char *)dcgettext(0);\n      warn(pcVar14);\n      bVar42 = false;\nLAB_00063833:\n      if (start != local_ec) goto LAB_00063844;\n    }\n    display_view_pair_list(section,&start,(uint)vstart,(uchar *)pcVar18);\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }\n  else {\n    if (local_ec != (uchar *)0x0) goto LAB_00063833;\nLAB_00063844:\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }" if (parenthesized_expression "((bVar42) && (bVar6))" ( (binary_expression "(bVar42) && (bVar6)" (parenthesized_expression "(bVar42)" ( identifier )) && (parenthesized_expression "(bVar6)" ( identifier ))) )) (compound_statement "{\n    if (start == local_ec) {\n      bVar42 = true;\n    }\n    else {\n      if (puVar36 == vstart) {\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }\n      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";\n      puVar50 = (uchar *)0x5;\n      pcVar14 = (char *)dcgettext(0);\n      warn(pcVar14);\n      bVar42 = false;\nLAB_00063833:\n      if (start != local_ec) goto LAB_00063844;\n    }\n    display_view_pair_list(section,&start,(uint)vstart,(uchar *)pcVar18);\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }" { (if_statement "if (start == local_ec) {\n      bVar42 = true;\n    }\n    else {\n      if (puVar36 == vstart) {\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }\n      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";\n      puVar50 = (uchar *)0x5;\n      pcVar14 = (char *)dcgettext(0);\n      warn(pcVar14);\n      bVar42 = false;\nLAB_00063833:\n      if (start != local_ec) goto LAB_00063844;\n    }" if (parenthesized_expression "(start == local_ec)" ( (binary_expression "start == local_ec" identifier == identifier) )) (compound_statement "{\n      bVar42 = true;\n    }" { (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) }) (else_clause "else {\n      if (puVar36 == vstart) {\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }\n      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";\n      puVar50 = (uchar *)0x5;\n      pcVar14 = (char *)dcgettext(0);\n      warn(pcVar14);\n      bVar42 = false;\nLAB_00063833:\n      if (start != local_ec) goto LAB_00063844;\n    }" else (compound_statement "{\n      if (puVar36 == vstart) {\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }\n      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";\n      puVar50 = (uchar *)0x5;\n      pcVar14 = (char *)dcgettext(0);\n      warn(pcVar14);\n      bVar42 = false;\nLAB_00063833:\n      if (start != local_ec) goto LAB_00063844;\n    }" { (if_statement "if (puVar36 == vstart) {\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }" if (parenthesized_expression "(puVar36 == vstart)" ( (binary_expression "puVar36 == vstart" identifier == identifier) )) (compound_statement "{\n        bVar42 = true;\n        bVar41 = true;\n        pcVar14 = pcVar18;\n        pdVar19 = debug_information;\n        goto LAB_0006373a;\n      }" { (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (expression_statement "pdVar19 = debug_information;" (assignment_expression "pdVar19 = debug_information" identifier = identifier) ;) (goto_statement "goto LAB_0006373a;" goto statement_identifier ;) })) (expression_statement "pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";" (assignment_expression "pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n"" identifier = (string_literal ""Hole and overlap detection requires adjacent view lists and loclists.\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar50 = (uchar *)0x5;" (assignment_expression "puVar50 = (uchar *)0x5" identifier = (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar14 = (char *)dcgettext(0);" (assignment_expression "pcVar14 = (char *)dcgettext(0)" identifier = (cast_expression "(char *)dcgettext(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "bVar42 = false;" (assignment_expression "bVar42 = false" identifier = false) ;) (labeled_statement "LAB_00063833:\n      if (start != local_ec) goto LAB_00063844;" statement_identifier : (if_statement "if (start != local_ec) goto LAB_00063844;" if (parenthesized_expression "(start != local_ec)" ( (binary_expression "start != local_ec" identifier != identifier) )) (goto_statement "goto LAB_00063844;" goto statement_identifier ;))) }))) (expression_statement "display_view_pair_list(section,&start,(uint)vstart,(uchar *)pcVar18);" (call_expression "display_view_pair_list(section,&start,(uint)vstart,(uchar *)pcVar18)" identifier (argument_list "(section,&start,(uint)vstart,(uchar *)pcVar18)" ( identifier , (pointer_expression "&start" & identifier) , (cast_expression "(uint)vstart" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uchar *)pcVar18" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (expression_statement "pdVar19 = debug_information;" (assignment_expression "pdVar19 = debug_information" identifier = identifier) ;) }) (else_clause "else {\n    if (local_ec != (uchar *)0x0) goto LAB_00063833;\nLAB_00063844:\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }" else (compound_statement "{\n    if (local_ec != (uchar *)0x0) goto LAB_00063833;\nLAB_00063844:\n    bVar41 = true;\n    pcVar14 = pcVar18;\n    pdVar19 = debug_information;\n  }" { (if_statement "if (local_ec != (uchar *)0x0) goto LAB_00063833;" if (parenthesized_expression "(local_ec != (uchar *)0x0)" ( (binary_expression "local_ec != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00063833;" goto statement_identifier ;)) (labeled_statement "LAB_00063844:\n    bVar41 = true;" statement_identifier : (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;)) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (expression_statement "pdVar19 = debug_information;" (assignment_expression "pdVar19 = debug_information" identifier = identifier) ;) })))) (labeled_statement "LAB_0006373a:\n  pdVar32 = pdVar19 + (int)local_8c;" statement_identifier : (expression_statement "pdVar32 = pdVar19 + (int)local_8c;" (assignment_expression "pdVar32 = pdVar19 + (int)local_8c" identifier = (binary_expression "pdVar19 + (int)local_8c" identifier + (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "local_f0 = (uchar *)((int)local_f0 + 1);" (assignment_expression "local_f0 = (uchar *)((int)local_f0 + 1)" identifier = (cast_expression "(uchar *)((int)local_f0 + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f0 + 1)" ( (binary_expression "(int)local_f0 + 1" (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (pdVar32->num_loc_offsets <= local_f0) goto LAB_00063fc0;" if (parenthesized_expression "(pdVar32->num_loc_offsets <= local_f0)" ( (binary_expression "pdVar32->num_loc_offsets <= local_f0" (field_expression "pdVar32->num_loc_offsets" identifier -> field_identifier) <= identifier) )) (goto_statement "goto LAB_00063fc0;" goto statement_identifier ;)) (goto_statement "goto LAB_00063757;" goto statement_identifier ;) })))
(translation_unit "undefined4 FUN_00063020(int param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint *puVar3;\n  uint uVar4;\n  bool bVar5;\n  bool bVar6;\n  undefined *puVar7;\n  byte bVar8;\n  bool bVar9;\n  ushort uVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  uint *puVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  int iVar28;\n  size_t __nmemb;\n  undefined4 uVar29;\n  byte bVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  int iVar34;\n  FILE *pFVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  uint uVar39;\n  byte *pbVar40;\n  bool bVar41;\n  bool bVar42;\n  longlong lVar43;\n  ulonglong uVar44;\n  ulonglong uVar45;\n  longlong lVar46;\n  undefined8 uVar47;\n  ulonglong uVar48;\n  uint local_10c;\n  uint local_108;\n  uint local_104;\n  uint local_100;\n  int local_fc;\n  uint local_f4;\n  uint local_f0;\n  uint local_ec;\n  int local_e8;\n  int *local_e4;\n  int *local_dc;\n  uint local_d8;\n  int local_d4;\n  int local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_8c;\n  uint local_7c;\n  uint local_68;\n  void *local_5c;\n  uint local_28;\n  uint local_24;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar8 = 0;\n  uStack_14 = 0x63029;\n  uVar19 = *(uint *)(param_1 + 0x10);\n  pcVar12 = *(char **)(param_1 + 8);\n  pbVar11 = (byte *)strrchr(pcVar12,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar11 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  uVar2 = *(uint *)(param_1 + 0x1c);\n  if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }\n  pcVar12 = strstr(pcVar12,"debug_loclists");\n  if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }\n  local_d4 = 0;\n  local_d0 = 0;\nLAB_0006322d:\n  iVar31 = FUN_00062460();\n  if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }\n  if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }\n  uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(uVar15);\nLAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;\n  if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }\n  local_5c = (void *)0x0;\n  if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }\n  FUN_0004eb80();\n  iVar31 = FUN_00045000(param_1,0,0);\n  if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar14);\n  puVar7 = PTR_stdout_000b3fd8;\n  local_28 = uVar19;\n  if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }\n  uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n  if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }\n  putc(10,*(FILE **)puVar7);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  local_28 = uVar37;\n  uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n  warn(uVar15,local_10c);\ncode_r0x00064ee9:\n  local_24 = local_104;\nLAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\nLAB_0006373a:\n  iVar34 = local_fc + iVar31;\n  local_f0 = local_f0 + 1;\n  if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}\n\n" (function_definition "undefined4 FUN_00063020(int param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint *puVar3;\n  uint uVar4;\n  bool bVar5;\n  bool bVar6;\n  undefined *puVar7;\n  byte bVar8;\n  bool bVar9;\n  ushort uVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  uint *puVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  int iVar28;\n  size_t __nmemb;\n  undefined4 uVar29;\n  byte bVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  int iVar34;\n  FILE *pFVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  uint uVar39;\n  byte *pbVar40;\n  bool bVar41;\n  bool bVar42;\n  longlong lVar43;\n  ulonglong uVar44;\n  ulonglong uVar45;\n  longlong lVar46;\n  undefined8 uVar47;\n  ulonglong uVar48;\n  uint local_10c;\n  uint local_108;\n  uint local_104;\n  uint local_100;\n  int local_fc;\n  uint local_f4;\n  uint local_f0;\n  uint local_ec;\n  int local_e8;\n  int *local_e4;\n  int *local_dc;\n  uint local_d8;\n  int local_d4;\n  int local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_8c;\n  uint local_7c;\n  uint local_68;\n  void *local_5c;\n  uint local_28;\n  uint local_24;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar8 = 0;\n  uStack_14 = 0x63029;\n  uVar19 = *(uint *)(param_1 + 0x10);\n  pcVar12 = *(char **)(param_1 + 8);\n  pbVar11 = (byte *)strrchr(pcVar12,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar11 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  uVar2 = *(uint *)(param_1 + 0x1c);\n  if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }\n  pcVar12 = strstr(pcVar12,"debug_loclists");\n  if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }\n  local_d4 = 0;\n  local_d0 = 0;\nLAB_0006322d:\n  iVar31 = FUN_00062460();\n  if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }\n  if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }\n  uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(uVar15);\nLAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;\n  if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }\n  local_5c = (void *)0x0;\n  if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }\n  FUN_0004eb80();\n  iVar31 = FUN_00045000(param_1,0,0);\n  if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar14);\n  puVar7 = PTR_stdout_000b3fd8;\n  local_28 = uVar19;\n  if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }\n  uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n  if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }\n  putc(10,*(FILE **)puVar7);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  local_28 = uVar37;\n  uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n  warn(uVar15,local_10c);\ncode_r0x00064ee9:\n  local_24 = local_104;\nLAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\nLAB_0006373a:\n  iVar34 = local_fc + iVar31;\n  local_f0 = local_f0 + 1;\n  if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}" type_identifier (function_declarator "FUN_00063020(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint *puVar3;\n  uint uVar4;\n  bool bVar5;\n  bool bVar6;\n  undefined *puVar7;\n  byte bVar8;\n  bool bVar9;\n  ushort uVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  uint *puVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  int iVar28;\n  size_t __nmemb;\n  undefined4 uVar29;\n  byte bVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  int iVar34;\n  FILE *pFVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  uint uVar39;\n  byte *pbVar40;\n  bool bVar41;\n  bool bVar42;\n  longlong lVar43;\n  ulonglong uVar44;\n  ulonglong uVar45;\n  longlong lVar46;\n  undefined8 uVar47;\n  ulonglong uVar48;\n  uint local_10c;\n  uint local_108;\n  uint local_104;\n  uint local_100;\n  int local_fc;\n  uint local_f4;\n  uint local_f0;\n  uint local_ec;\n  int local_e8;\n  int *local_e4;\n  int *local_dc;\n  uint local_d8;\n  int local_d4;\n  int local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_8c;\n  uint local_7c;\n  uint local_68;\n  void *local_5c;\n  uint local_28;\n  uint local_24;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar8 = 0;\n  uStack_14 = 0x63029;\n  uVar19 = *(uint *)(param_1 + 0x10);\n  pcVar12 = *(char **)(param_1 + 8);\n  pbVar11 = (byte *)strrchr(pcVar12,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar11 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  uVar2 = *(uint *)(param_1 + 0x1c);\n  if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }\n  pcVar12 = strstr(pcVar12,"debug_loclists");\n  if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }\n  local_d4 = 0;\n  local_d0 = 0;\nLAB_0006322d:\n  iVar31 = FUN_00062460();\n  if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }\n  if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }\n  uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(uVar15);\nLAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;\n  if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }\n  local_5c = (void *)0x0;\n  if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }\n  FUN_0004eb80();\n  iVar31 = FUN_00045000(param_1,0,0);\n  if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar14);\n  puVar7 = PTR_stdout_000b3fd8;\n  local_28 = uVar19;\n  if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }\n  uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n  if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }\n  putc(10,*(FILE **)puVar7);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  local_28 = uVar37;\n  uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n  warn(uVar15,local_10c);\ncode_r0x00064ee9:\n  local_24 = local_104;\nLAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\nLAB_0006373a:\n  iVar34 = local_fc + iVar31;\n  local_f0 = local_f0 + 1;\n  if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "ushort uVar10;" type_identifier identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "size_t __nmemb;" primitive_type identifier ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "byte bVar30;" type_identifier identifier ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "uint uVar33;" type_identifier identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "FILE *pFVar35;" type_identifier (pointer_declarator "*pFVar35" * identifier) ;) (declaration "uint uVar36;" type_identifier identifier ;) (declaration "uint uVar37;" type_identifier identifier ;) (declaration "uint uVar38;" type_identifier identifier ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "byte *pbVar40;" type_identifier (pointer_declarator "*pbVar40" * identifier) ;) (declaration "bool bVar41;" primitive_type identifier ;) (declaration "bool bVar42;" primitive_type identifier ;) (declaration "longlong lVar43;" type_identifier identifier ;) (declaration "ulonglong uVar44;" type_identifier identifier ;) (declaration "ulonglong uVar45;" type_identifier identifier ;) (declaration "longlong lVar46;" type_identifier identifier ;) (declaration "undefined8 uVar47;" type_identifier identifier ;) (declaration "ulonglong uVar48;" type_identifier identifier ;) (declaration "uint local_10c;" type_identifier identifier ;) (declaration "uint local_108;" type_identifier identifier ;) (declaration "uint local_104;" type_identifier identifier ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "int local_fc;" primitive_type identifier ;) (declaration "uint local_f4;" type_identifier identifier ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "uint local_ec;" type_identifier identifier ;) (declaration "int local_e8;" primitive_type identifier ;) (declaration "int *local_e4;" primitive_type (pointer_declarator "*local_e4" * identifier) ;) (declaration "int *local_dc;" primitive_type (pointer_declarator "*local_dc" * identifier) ;) (declaration "uint local_d8;" type_identifier identifier ;) (declaration "int local_d4;" primitive_type identifier ;) (declaration "int local_d0;" primitive_type identifier ;) (declaration "int local_cc;" primitive_type identifier ;) (declaration "uint local_c8;" type_identifier identifier ;) (declaration "uint local_bc;" type_identifier 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_8c;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "void *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "int local_20 [3];" primitive_type (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar8 = 0;" (assignment_expression "bVar8 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x63029;" (assignment_expression "uStack_14 = 0x63029" identifier = number_literal) ;) (expression_statement "uVar19 = *(uint *)(param_1 + 0x10);" (assignment_expression "uVar19 = *(uint *)(param_1 + 0x10)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar12 = *(char **)(param_1 + 8);" (assignment_expression "pcVar12 = *(char **)(param_1 + 8)" identifier = (pointer_expression "*(char **)(param_1 + 8)" * (cast_expression "(char **)(param_1 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "pbVar11 = (byte *)strrchr(pcVar12,0x2e);" (assignment_expression "pbVar11 = (byte *)strrchr(pcVar12,0x2e)" identifier = (cast_expression "(byte *)strrchr(pcVar12,0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strrchr(pcVar12,0x2e)" identifier (argument_list "(pcVar12,0x2e)" ( identifier , number_literal ))))) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "bVar41 = false;" (assignment_expression "bVar41 = false" identifier = false) ;) (expression_statement "bVar42 = pbVar11 == (byte *)0x0;" (assignment_expression "bVar42 = pbVar11 == (byte *)0x0" identifier = (binary_expression "pbVar11 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }" if (parenthesized_expression "(!bVar42)" ( (unary_expression "!bVar42" ! identifier) )) (compound_statement "{\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }" { (expression_statement "iVar31 = 5;" (assignment_expression "iVar31 = 5" identifier = number_literal) ;) (expression_statement "pbVar40 = (byte *)0x9432f;" (assignment_expression "pbVar40 = (byte *)0x9432f" identifier = (cast_expression "(byte *)0x9432f" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);" do (compound_statement "{\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    }" { (if_statement "if (iVar31 == 0) break;" if (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar31 = iVar31 + -1;" (assignment_expression "iVar31 = iVar31 + -1" identifier = (binary_expression "iVar31 + -1" identifier + number_literal)) ;) (expression_statement "bVar41 = *pbVar11 < *pbVar40;" (assignment_expression "bVar41 = *pbVar11 < *pbVar40" identifier = (binary_expression "*pbVar11 < *pbVar40" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar40" * identifier))) ;) (expression_statement "bVar42 = *pbVar11 == *pbVar40;" (assignment_expression "bVar42 = *pbVar11 == *pbVar40" identifier = (binary_expression "*pbVar11 == *pbVar40" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar40" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1" identifier = (binary_expression "pbVar11 + (uint)bVar8 * -2 + 1" (binary_expression "pbVar11 + (uint)bVar8 * -2" identifier + (binary_expression "(uint)bVar8 * -2" (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;" (assignment_expression "pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1" identifier = (binary_expression "pbVar40 + (uint)bVar8 * -2 + 1" (binary_expression "pbVar40 + (uint)bVar8 * -2" identifier + (binary_expression "(uint)bVar8 * -2" (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar42)" ( identifier )) ;) (expression_statement "local_68 = (uint)((!bVar41 && !bVar42) == bVar41);" (assignment_expression "local_68 = (uint)((!bVar41 && !bVar42) == bVar41)" identifier = (call_expression "(uint)((!bVar41 && !bVar42) == bVar41)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((!bVar41 && !bVar42) == bVar41)" ( (binary_expression "(!bVar41 && !bVar42) == bVar41" (parenthesized_expression "(!bVar41 && !bVar42)" ( (binary_expression "!bVar41 && !bVar42" (unary_expression "!bVar41" ! identifier) && (unary_expression "!bVar42" ! identifier)) )) == identifier) )))) ;) })) (expression_statement "uVar2 = *(uint *)(param_1 + 0x1c);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x1c)" identifier = (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) ))))) ;) (if_statement "if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }" { (expression_statement "pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nThe %s section is empty.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nThe %s section is empty.\n",5)" identifier (argument_list "(0,"\nThe %s section is empty.\n",5)" ( number_literal , (string_literal ""\nThe %s section is empty.\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,pcVar12);" (call_expression "printf(pcVar14,pcVar12)" identifier (argument_list "(pcVar14,pcVar12)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar12 = strstr(pcVar12,"debug_loclists");" (assignment_expression "pcVar12 = strstr(pcVar12,"debug_loclists")" identifier = (call_expression "strstr(pcVar12,"debug_loclists")" identifier (argument_list "(pcVar12,"debug_loclists")" ( identifier , (string_literal ""debug_loclists"" " string_content ") )))) ;) (if_statement "if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }" if (parenthesized_expression "(pcVar12 != (char *)0x0)" ( (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }" { (expression_statement "uVar38 = uVar19 + 4;" (assignment_expression "uVar38 = uVar19 + 4" identifier = (binary_expression "uVar19 + 4" identifier + number_literal)) ;) (expression_statement "uVar37 = uVar19 + uVar2;" (assignment_expression "uVar37 = uVar19 + uVar2" identifier = (binary_expression "uVar19 + uVar2" identifier + identifier)) ;) (expression_statement "uVar39 = uVar38;" (assignment_expression "uVar39 = uVar38" identifier = identifier) ;) (if_statement "if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }" if (parenthesized_expression "(uVar38 < uVar37)" ( (binary_expression "uVar38 < uVar37" identifier < identifier) )) (compound_statement "{\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }" { (expression_statement "uVar36 = 4;" (assignment_expression "uVar36 = 4" identifier = number_literal) ;) (labeled_statement "LAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);" statement_identifier : (expression_statement "lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);" (assignment_expression "lVar43 = (*DAT_000b9dd8)(uVar19,uVar36)" identifier = (call_expression "(*DAT_000b9dd8)(uVar19,uVar36)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar19,uVar36)" ( identifier , identifier )))) ;)) (if_statement "if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }" if (parenthesized_expression "(lVar43 == 0xffffffff)" ( (binary_expression "lVar43 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }" { (expression_statement "uVar39 = uVar19 + 0xc;" (assignment_expression "uVar39 = uVar19 + 0xc" identifier = (binary_expression "uVar19 + 0xc" identifier + number_literal)) ;) (if_statement "if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }" if (parenthesized_expression "(uVar39 < uVar37)" ( (binary_expression "uVar39 < uVar37" identifier < identifier) )) (compound_statement "{\n          iVar31 = 8;\n        }" { (expression_statement "iVar31 = 8;" (assignment_expression "iVar31 = 8" identifier = number_literal) ;) }) (else_clause "else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }" else (compound_statement "{\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }" { (if_statement "if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;" if (parenthesized_expression "((uVar37 <= uVar38) || (7 < uVar2 - 5))" ( (binary_expression "(uVar37 <= uVar38) || (7 < uVar2 - 5)" (parenthesized_expression "(uVar37 <= uVar38)" ( (binary_expression "uVar37 <= uVar38" identifier <= identifier) )) || (parenthesized_expression "(7 < uVar2 - 5)" ( (binary_expression "7 < uVar2 - 5" number_literal < (binary_expression "uVar2 - 5" identifier - number_literal)) ))) )) (goto_statement "goto LAB_00063148;" goto statement_identifier ;)) (expression_statement "iVar31 = uVar2 - 4;" (assignment_expression "iVar31 = uVar2 - 4" identifier = (binary_expression "uVar2 - 4" identifier - number_literal)) ;) }))) (expression_statement "(*DAT_000b9dd8)(uVar38,iVar31);" (call_expression "(*DAT_000b9dd8)(uVar38,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar38,iVar31)" ( identifier , identifier ))) ;) })) (expression_statement "uVar38 = uVar39 + 2;" (assignment_expression "uVar38 = uVar39 + 2" identifier = (binary_expression "uVar39 + 2" identifier + number_literal)) ;) (if_statement "if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;" if (parenthesized_expression "(uVar38 < uVar37)" ( (binary_expression "uVar38 < uVar37" identifier < identifier) )) (compound_statement "{\n        iVar31 = 2;\n      }" { (expression_statement "iVar31 = 2;" (assignment_expression "iVar31 = 2" identifier = number_literal) ;) }) (else_clause "else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;" else (if_statement "if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;" if (parenthesized_expression "((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U))" ( (binary_expression "(uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)" (parenthesized_expression "(uVar37 <= uVar39)" ( (binary_expression "uVar37 <= uVar39" identifier <= identifier) )) || (parenthesized_expression "(iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)" ( (comma_expression "iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U" (assignment_expression "iVar31 = uVar37 - uVar39" identifier = (binary_expression "uVar37 - uVar39" identifier - identifier)) , (binary_expression "7 < iVar31 - 1U" number_literal < (binary_expression "iVar31 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_00063137;" goto statement_identifier ;)))) (labeled_statement "LAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);" statement_identifier : (expression_statement "uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);" (assignment_expression "uVar10 = (*DAT_000b9dd8)(uVar39,iVar31)" identifier = (call_expression "(*DAT_000b9dd8)(uVar39,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar39,iVar31)" ( identifier , identifier )))) ;)) (if_statement "if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }" if (parenthesized_expression "(uVar10 == 5)" ( (binary_expression "uVar10 == 5" identifier == number_literal) )) (compound_statement "{\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }" { (expression_statement "uVar36 = uVar39 + 3;" (assignment_expression "uVar36 = uVar39 + 3" identifier = (binary_expression "uVar39 + 3" identifier + number_literal)) ;) (if_statement "if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" if (parenthesized_expression "(uVar36 < uVar37)" ( (binary_expression "uVar36 < uVar37" identifier < identifier) )) (compound_statement "{\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }" { (expression_statement "iVar31 = 1;" (assignment_expression "iVar31 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);" statement_identifier : (expression_statement "(*DAT_000b9dd8)(uVar38,iVar31);" (call_expression "(*DAT_000b9dd8)(uVar38,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar38,iVar31)" ( identifier , identifier ))) ;)) (if_statement "if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;" if (parenthesized_expression "(uVar39 + 4 < uVar37)" ( (binary_expression "uVar39 + 4 < uVar37" (binary_expression "uVar39 + 4" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_000633ff:\n            iVar31 = 1;\n          }" { (labeled_statement "LAB_000633ff:\n            iVar31 = 1;" statement_identifier : (expression_statement "iVar31 = 1;" (assignment_expression "iVar31 = 1" identifier = number_literal) ;)) }) (else_clause "else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;" else (if_statement "if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;" if (parenthesized_expression "((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))" ( (binary_expression "(uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U)" (parenthesized_expression "(uVar37 <= uVar36)" ( (binary_expression "uVar37 <= uVar36" identifier <= identifier) )) || (parenthesized_expression "(iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U)" ( (comma_expression "iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U" (assignment_expression "iVar31 = uVar37 - uVar36" identifier = (binary_expression "uVar37 - uVar36" identifier - identifier)) , (binary_expression "7 < iVar31 - 1U" number_literal < (binary_expression "iVar31 - 1U" identifier - number_literal))) ))) )) (goto_statement "goto LAB_000631f5;" goto statement_identifier ;)))) (expression_statement "bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);" (assignment_expression "bVar8 = (*DAT_000b9dd8)(uVar36,iVar31)" identifier = (call_expression "(*DAT_000b9dd8)(uVar36,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar36,iVar31)" ( identifier , identifier )))) ;) (if_statement "if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }" if (parenthesized_expression "(bVar8 != 0)" ( (binary_expression "bVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }" { (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);" (assignment_expression "uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5)" identifier = (call_expression "dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5)" identifier (argument_list "(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5)" ( number_literal , (string_literal ""The %s section contains unsupported segment selector size: %d.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "uVar19 = (uint)bVar8;" (assignment_expression "uVar19 = (uint)bVar8" identifier = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_0006500d;" goto statement_identifier ;) })) (if_statement "if (uVar39 + 8 < uVar37) goto LAB_000631fc;" if (parenthesized_expression "(uVar39 + 8 < uVar37)" ( (binary_expression "uVar39 + 8 < uVar37" (binary_expression "uVar39 + 8" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_000631fc;" goto statement_identifier ;)) (if_statement "if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;" if (parenthesized_expression "((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))" ( (binary_expression "(uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8)" (parenthesized_expression "(uVar39 + 4 < uVar37)" ( (binary_expression "uVar39 + 4 < uVar37" (binary_expression "uVar39 + 4" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8)" ( (comma_expression "iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8" (assignment_expression "iVar31 = uVar37 - (uVar39 + 4)" identifier = (binary_expression "uVar37 - (uVar39 + 4)" identifier - (parenthesized_expression "(uVar39 + 4)" ( (binary_expression "uVar39 + 4" identifier + number_literal) )))) , (binary_expression "iVar31 - 1U < 8" (binary_expression "iVar31 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00063201;" goto statement_identifier ;)) }) (else_clause "else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" else (compound_statement "{\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" { (if_statement "if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;" if (parenthesized_expression "((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8))" ( (binary_expression "(uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)" (parenthesized_expression "(uVar38 < uVar37)" ( (binary_expression "uVar38 < uVar37" identifier < identifier) )) && (parenthesized_expression "(iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)" ( (comma_expression "iVar31 = uVar37 - uVar38, iVar31 - 1U < 8" (assignment_expression "iVar31 = uVar37 - uVar38" identifier = (binary_expression "uVar37 - uVar38" identifier - identifier)) , (binary_expression "iVar31 - 1U < 8" (binary_expression "iVar31 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_000631c0;" goto statement_identifier ;)) (if_statement "if (uVar39 + 4 < uVar37) goto LAB_000633ff;" if (parenthesized_expression "(uVar39 + 4 < uVar37)" ( (binary_expression "uVar39 + 4 < uVar37" (binary_expression "uVar39 + 4" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_000633ff;" goto statement_identifier ;)) (labeled_statement "LAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;" statement_identifier : (if_statement "if (uVar37 <= uVar39 + 8) goto LAB_00063219;" if (parenthesized_expression "(uVar37 <= uVar39 + 8)" ( (binary_expression "uVar37 <= uVar39 + 8" identifier <= (binary_expression "uVar39 + 8" identifier + number_literal)) )) (goto_statement "goto LAB_00063219;" goto statement_identifier ;))) (labeled_statement "LAB_000631fc:\n          iVar31 = 4;" statement_identifier : (expression_statement "iVar31 = 4;" (assignment_expression "iVar31 = 4" identifier = number_literal) ;)) (labeled_statement "LAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);" statement_identifier : (expression_statement "uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);" (assignment_expression "uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31)" identifier = (call_expression "(*DAT_000b9dd8)(uVar39 + 4,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar39 + 4,iVar31)" ( (binary_expression "uVar39 + 4" identifier + number_literal) , identifier )))) ;)) (if_statement "if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }" if (parenthesized_expression "(uVar38 != 0)" ( (binary_expression "uVar38 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }" { (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(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 "pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";" (assignment_expression "pcVar12 = "The %s section contains unsupported offset entry count: %d.\n"" identifier = (string_literal ""The %s section contains unsupported offset entry count: %d.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00063189;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;" statement_identifier : (expression_statement "local_d4 = (uVar39 + 8) - uVar19;" (assignment_expression "local_d4 = (uVar39 + 8) - uVar19" identifier = (binary_expression "(uVar39 + 8) - uVar19" (parenthesized_expression "(uVar39 + 8)" ( (binary_expression "uVar39 + 8" identifier + number_literal) )) - identifier)) ;)) (expression_statement "local_d0 = local_d4 >> 0x1f;" (assignment_expression "local_d0 = local_d4 >> 0x1f" identifier = (binary_expression "local_d4 >> 0x1f" identifier >> number_literal)) ;) (goto_statement "goto LAB_0006322d;" goto statement_identifier ;) })) (expression_statement "uVar38 = (uint)uVar10;" (assignment_expression "uVar38 = (uint)uVar10" identifier = (cast_expression "(uint)uVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }" else (compound_statement "{\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }" { (if_statement "if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;" if (parenthesized_expression "((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8))" ( (binary_expression "(uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)" (parenthesized_expression "(uVar19 < uVar37)" ( (binary_expression "uVar19 < uVar37" identifier < identifier) )) && (parenthesized_expression "(uVar36 = uVar2, uVar2 - 1 < 8)" ( (comma_expression "uVar36 = uVar2, uVar2 - 1 < 8" (assignment_expression "uVar36 = uVar2" identifier = identifier) , (binary_expression "uVar2 - 1 < 8" (binary_expression "uVar2 - 1" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_000630f8;" goto statement_identifier ;)) (labeled_statement "LAB_00063148:\n      uVar38 = uVar39 + 2;" statement_identifier : (expression_statement "uVar38 = uVar39 + 2;" (assignment_expression "uVar38 = uVar39 + 2" identifier = (binary_expression "uVar39 + 2" identifier + number_literal)) ;)) (if_statement "if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }" if (parenthesized_expression "(uVar38 < uVar37)" ( (binary_expression "uVar38 < uVar37" identifier < identifier) )) (compound_statement "{\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }" { (expression_statement "iVar31 = 2;" (assignment_expression "iVar31 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_0006315d;" goto statement_identifier ;) })) (labeled_statement "LAB_00063137:\n      uVar38 = 0;" statement_identifier : (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" identifier = number_literal) ;)) }))) (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(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 "pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";" (assignment_expression "pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n"" identifier = (string_literal ""The %s section contains corrupt or unsupported version number: %d.\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);" statement_identifier : (expression_statement "uVar13 = dcgettext(0,pcVar12,5);" (assignment_expression "uVar13 = dcgettext(0,pcVar12,5)" identifier = (call_expression "dcgettext(0,pcVar12,5)" identifier (argument_list "(0,pcVar12,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "warn(uVar13,uVar15,uVar38);" (call_expression "warn(uVar13,uVar15,uVar38)" identifier (argument_list "(uVar13,uVar15,uVar38)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0006322d:\n  iVar31 = FUN_00062460();" statement_identifier : (expression_statement "iVar31 = FUN_00062460();" (assignment_expression "iVar31 = FUN_00062460()" identifier = (call_expression "FUN_00062460()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }" if (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }" { (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(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 "uVar19 = 5;" (assignment_expression "uVar19 = 5" identifier = number_literal) ;) (expression_statement "uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);" (assignment_expression "uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5)" identifier = (call_expression "dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5)" identifier (argument_list "(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5)" ( number_literal , (string_literal ""Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"" " string_content escape_sequence ") , number_literal )))) ;) (labeled_statement "LAB_0006500d:\n    warn(uVar13,uVar15,uVar19);" statement_identifier : (expression_statement "warn(uVar13,uVar15,uVar19);" (call_expression "warn(uVar13,uVar15,uVar19)" identifier (argument_list "(uVar13,uVar15,uVar19)" ( identifier , identifier , identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }" if (parenthesized_expression "(DAT_000b9d6c == 0)" ( (binary_expression "DAT_000b9d6c == 0" identifier == number_literal) )) (compound_statement "{\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }" { (expression_statement "local_dc = (int *)0x0;" (assignment_expression "local_dc = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) }) (else_clause "else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }" else (compound_statement "{\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }" { (expression_statement "bVar42 = false;" (assignment_expression "bVar42 = false" identifier = false) ;) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_e4 = (int *)(DAT_000b9d64 + 0x2c);" (assignment_expression "local_e4 = (int *)(DAT_000b9d64 + 0x2c)" identifier = (cast_expression "(int *)(DAT_000b9d64 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_000b9d64 + 0x2c)" ( (binary_expression "DAT_000b9d64 + 0x2c" identifier + number_literal) )))) ;) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "local_104 = 0;" (assignment_expression "local_104 = 0" identifier = number_literal) ;) (expression_statement "local_dc = (int *)0x0;" (assignment_expression "local_dc = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);" do (compound_statement "{\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    }" { (expression_statement "uVar38 = local_e4[3];" (assignment_expression "uVar38 = local_e4[3]" identifier = (subscript_expression "local_e4[3]" identifier [ number_literal ])) ;) (if_statement "if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }" if (parenthesized_expression "(local_dc < uVar38)" ( (binary_expression "local_dc < uVar38" identifier < identifier) )) (compound_statement "{\n        local_dc = (int *)uVar38;\n      }" { (expression_statement "local_dc = (int *)uVar38;" (assignment_expression "local_dc = (int *)uVar38" identifier = (cast_expression "(int *)uVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (if_statement "if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }" if (parenthesized_expression "((uVar38 != 0) && (bVar41))" ( (binary_expression "(uVar38 != 0) && (bVar41)" (parenthesized_expression "(uVar38 != 0)" ( (binary_expression "uVar38 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar41)" ( identifier ))) )) (compound_statement "{\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }" { (if_statement "if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }" if (parenthesized_expression "(!bVar42)" ( (unary_expression "!bVar42" ! identifier) )) (compound_statement "{\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }" { (expression_statement "local_104 = *(uint *)*local_e4;" (assignment_expression "local_104 = *(uint *)*local_e4" identifier = (pointer_expression "*(uint *)*local_e4" * (cast_expression "(uint *)*local_e4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_e4" * identifier)))) ;) (expression_statement "local_f4 = *(uint *)local_e4[1];" (assignment_expression "local_f4 = *(uint *)local_e4[1]" identifier = (pointer_expression "*(uint *)local_e4[1]" * (cast_expression "(uint *)local_e4[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_e4[1]" identifier [ number_literal ])))) ;) (expression_statement "local_8c = local_f0;" (assignment_expression "local_8c = local_f0" identifier = identifier) ;) })) (expression_statement "uVar39 = (uint)!bVar42;" (assignment_expression "uVar39 = (uint)!bVar42" identifier = (cast_expression "(uint)!bVar42" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!bVar42" ! identifier))) ;) (if_statement "if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }" if (parenthesized_expression "(uVar39 < uVar38)" ( (binary_expression "uVar39 < uVar38" identifier < identifier) )) (compound_statement "{\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }" { (expression_statement "iVar31 = *local_e4;" (assignment_expression "iVar31 = *local_e4" identifier = (pointer_expression "*local_e4" * identifier)) ;) (expression_statement "uVar37 = *(uint *)(iVar31 + uVar39 * 8);" (assignment_expression "uVar37 = *(uint *)(iVar31 + uVar39 * 8)" identifier = (pointer_expression "*(uint *)(iVar31 + uVar39 * 8)" * (cast_expression "(uint *)(iVar31 + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + uVar39 * 8)" ( (binary_expression "iVar31 + uVar39 * 8" identifier + (binary_expression "uVar39 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);" (assignment_expression "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8)" identifier = (pointer_expression "*(uint *)(iVar31 + 4 + uVar39 * 8)" * (cast_expression "(uint *)(iVar31 + 4 + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 4 + uVar39 * 8)" ( (binary_expression "iVar31 + 4 + uVar39 * 8" (binary_expression "iVar31 + 4" identifier + number_literal) + (binary_expression "uVar39 * 8" identifier * number_literal)) ))))) ;) (if_statement "if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }" if (parenthesized_expression "((uVar37 < local_104) <= uVar36)" ( (binary_expression "(uVar37 < local_104) <= uVar36" (parenthesized_expression "(uVar37 < local_104)" ( (binary_expression "uVar37 < local_104" identifier < identifier) )) <= identifier) )) (compound_statement "{\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }" { (do_statement "do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);" do (compound_statement "{\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            }" { (expression_statement "uVar33 = uVar37;" (assignment_expression "uVar33 = uVar37" identifier = identifier) ;) (expression_statement "uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);" (assignment_expression "uVar37 = *(uint *)(local_e4[1] + uVar39 * 8)" identifier = (pointer_expression "*(uint *)(local_e4[1] + uVar39 * 8)" * (cast_expression "(uint *)(local_e4[1] + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_e4[1] + uVar39 * 8)" ( (binary_expression "local_e4[1] + uVar39 * 8" (subscript_expression "local_e4[1]" identifier [ number_literal ]) + (binary_expression "uVar39 * 8" identifier * number_literal)) ))))) ;) (if_statement "if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;" if (parenthesized_expression "((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4)))" ( (binary_expression "(uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))" (parenthesized_expression "(uVar36 == 0 && local_104 == uVar33)" ( (binary_expression "uVar36 == 0 && local_104 == uVar33" (binary_expression "uVar36 == 0" identifier == number_literal) && (binary_expression "local_104 == uVar33" identifier == identifier)) )) && (parenthesized_expression "(*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))" ( (binary_expression "*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4)" (pointer_expression "*(uint *)(local_e4[1] + 4 + uVar39 * 8)" * (cast_expression "(uint *)(local_e4[1] + 4 + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_e4[1] + 4 + uVar39 * 8)" ( (binary_expression "local_e4[1] + 4 + uVar39 * 8" (binary_expression "local_e4[1] + 4" (subscript_expression "local_e4[1]" identifier [ number_literal ]) + number_literal) + (binary_expression "uVar39 * 8" identifier * number_literal)) )))) < (call_expression "(uint)(uVar37 < local_f4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar37 < local_f4)" ( (binary_expression "uVar37 < local_f4" identifier < identifier) )))) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar39 = uVar39 + 1;" (assignment_expression "uVar39 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ;) (expression_statement "local_104 = uVar33;" (assignment_expression "local_104 = uVar33" identifier = identifier) ;) (expression_statement "local_f4 = uVar37;" (assignment_expression "local_f4 = uVar37" identifier = identifier) ;) (if_statement "if (uVar38 == uVar39) goto LAB_00063450;" if (parenthesized_expression "(uVar38 == uVar39)" ( (binary_expression "uVar38 == uVar39" identifier == identifier) )) (goto_statement "goto LAB_00063450;" goto statement_identifier ;)) (expression_statement "uVar37 = *(uint *)(iVar31 + uVar39 * 8);" (assignment_expression "uVar37 = *(uint *)(iVar31 + uVar39 * 8)" identifier = (pointer_expression "*(uint *)(iVar31 + uVar39 * 8)" * (cast_expression "(uint *)(iVar31 + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + uVar39 * 8)" ( (binary_expression "iVar31 + uVar39 * 8" identifier + (binary_expression "uVar39 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);" (assignment_expression "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8)" identifier = (pointer_expression "*(uint *)(iVar31 + 4 + uVar39 * 8)" * (cast_expression "(uint *)(iVar31 + 4 + uVar39 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 4 + uVar39 * 8)" ( (binary_expression "iVar31 + 4 + uVar39 * 8" (binary_expression "iVar31 + 4" identifier + number_literal) + (binary_expression "uVar39 * 8" identifier * number_literal)) ))))) ;) }) while (parenthesized_expression "((uVar37 < uVar33) <= uVar36)" ( (binary_expression "(uVar37 < uVar33) <= uVar36" (parenthesized_expression "(uVar37 < uVar33)" ( (binary_expression "uVar37 < uVar33" identifier < identifier) )) <= identifier) )) ;) })) (expression_statement "bVar41 = false;" (assignment_expression "bVar41 = false" identifier = false) ;) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) }) (else_clause "else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }" else (compound_statement "{\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }" { (labeled_statement "LAB_00063450:\n          bVar41 = true;" statement_identifier : (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" identifier = true) ;)) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) }))) })) (expression_statement "local_f0 = local_f0 + 1;" (assignment_expression "local_f0 = local_f0 + 1" identifier = (binary_expression "local_f0 + 1" identifier + number_literal)) ;) (expression_statement "local_e4 = local_e4 + 0x14;" (assignment_expression "local_e4 = local_e4 + 0x14" identifier = (binary_expression "local_e4 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(DAT_000b9d6c != local_f0)" ( (binary_expression "DAT_000b9d6c != local_f0" identifier != identifier) )) ;) (expression_statement "local_cc = local_8c * 0x50;" (assignment_expression "local_cc = local_8c * 0x50" identifier = (binary_expression "local_8c * 0x50" identifier * number_literal)) ;) (if_statement "if (bVar42) goto LAB_00063484;" if (parenthesized_expression "(bVar42)" ( identifier )) (goto_statement "goto LAB_00063484;" goto statement_identifier ;)) }))) (expression_statement "uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);" (assignment_expression "uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5)" identifier = (call_expression "dcgettext(0,"No location lists in .debug_info section!\n",5)" identifier (argument_list "(0,"No location lists in .debug_info section!\n",5)" ( number_literal , (string_literal ""No location lists in .debug_info section!\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar15);" (call_expression "error(uVar15)" identifier (argument_list "(uVar15)" ( identifier ))) ;) (labeled_statement "LAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;" statement_identifier : (expression_statement "local_cc = DAT_000b9d64 + local_cc;" (assignment_expression "local_cc = DAT_000b9d64 + local_cc" identifier = (binary_expression "DAT_000b9d64 + local_cc" identifier + identifier)) ;)) (if_statement "if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }" if (parenthesized_expression "(((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30)))" ( (binary_expression "((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))" (parenthesized_expression "((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c)))" ( (binary_expression "(*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))" (parenthesized_expression "(*(int *)(local_cc + 0x38) != 0)" ( (binary_expression "*(int *)(local_cc + 0x38) != 0" (pointer_expression "*(int *)(local_cc + 0x38)" * (cast_expression "(int *)(local_cc + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_cc + 0x38)" ( (binary_expression "local_cc + 0x38" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))" ( (binary_expression "local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c)" (binary_expression "local_d0 != (*(int **)(local_cc + 0x2c))[1]" identifier != (subscript_expression "(*(int **)(local_cc + 0x2c))[1]" (parenthesized_expression "(*(int **)(local_cc + 0x2c))" ( (pointer_expression "*(int **)(local_cc + 0x2c)" * (cast_expression "(int **)(local_cc + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 0x2c)" ( (binary_expression "local_cc + 0x2c" identifier + number_literal) )))) )) [ number_literal ])) || (binary_expression "local_d4 != **(int **)(local_cc + 0x2c)" identifier != (pointer_expression "**(int **)(local_cc + 0x2c)" * (pointer_expression "*(int **)(local_cc + 0x2c)" * (cast_expression "(int **)(local_cc + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 0x2c)" ( (binary_expression "local_cc + 0x2c" identifier + number_literal) ))))))) ))) )) && (parenthesized_expression "(local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))" ( (binary_expression "local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30)" (binary_expression "local_d0 != (*(int **)(local_cc + 0x30))[1]" identifier != (subscript_expression "(*(int **)(local_cc + 0x30))[1]" (parenthesized_expression "(*(int **)(local_cc + 0x30))" ( (pointer_expression "*(int **)(local_cc + 0x30)" * (cast_expression "(int **)(local_cc + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 0x30)" ( (binary_expression "local_cc + 0x30" identifier + number_literal) )))) )) [ number_literal ])) || (binary_expression "local_d4 != **(int **)(local_cc + 0x30)" identifier != (pointer_expression "**(int **)(local_cc + 0x30)" * (pointer_expression "*(int **)(local_cc + 0x30)" * (cast_expression "(int **)(local_cc + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 0x30)" ( (binary_expression "local_cc + 0x30" identifier + number_literal) ))))))) ))) )) (compound_statement "{\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }" { (expression_statement "uVar13 = FUN_0004cb50(0);" (assignment_expression "uVar13 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(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 "uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);" (assignment_expression "uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5)" identifier = (call_expression "dcgettext(0,"Location lists in %s section start at 0x%s\n",5)" identifier (argument_list "(0,"Location lists in %s section start at 0x%s\n",5)" ( number_literal , (string_literal ""Location lists in %s section start at 0x%s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar29,uVar15,uVar13);" (call_expression "warn(uVar29,uVar15,uVar13)" identifier (argument_list "(uVar29,uVar15,uVar13)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "local_5c = (void *)0x0;" (assignment_expression "local_5c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }" if (parenthesized_expression "(!bVar41)" ( (unary_expression "!bVar41" ! identifier) )) (compound_statement "{\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }" { (expression_statement "local_5c = (void *)FUN_0005db00(local_dc,4);" (assignment_expression "local_5c = (void *)FUN_0005db00(local_dc,4)" identifier = (cast_expression "(void *)FUN_0005db00(local_dc,4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005db00(local_dc,4)" identifier (argument_list "(local_dc,4)" ( identifier , number_literal ))))) ;) })) (expression_statement "FUN_0004eb80();" (call_expression "FUN_0004eb80()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar31 = FUN_00045000(param_1,0,0);" (assignment_expression "iVar31 = FUN_00045000(param_1,0,0)" identifier = (call_expression "FUN_00045000(param_1,0,0)" identifier (argument_list "(param_1,0,0)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }" if (parenthesized_expression "(iVar31 != 0)" ( (binary_expression "iVar31 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }" { (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" identifier (argument_list "(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" ( number_literal , (string_literal "" Warning: This section has relocations - addresses seen here may not be accurate.\n\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"    Offset   Begin            End              Expression\n",5)" identifier (argument_list "(0,"    Offset   Begin            End              Expression\n",5)" ( number_literal , (string_literal ""    Offset   Begin            End              Expression\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "puVar7 = PTR_stdout_000b3fd8;" (assignment_expression "puVar7 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "local_28 = uVar19;" (assignment_expression "local_28 = uVar19" identifier = identifier) ;) (if_statement "if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }" if (parenthesized_expression "(local_8c < DAT_000b9d6c)" ( (binary_expression "local_8c < DAT_000b9d6c" identifier < identifier) )) (compound_statement "{\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }" { (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;) (expression_statement "bVar42 = false;" (assignment_expression "bVar42 = false" identifier = false) ;) (do_statement "do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);" do (compound_statement "{\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    }" { (expression_statement "iVar31 = local_8c * 0x50;" (assignment_expression "iVar31 = local_8c * 0x50" identifier = (binary_expression "local_8c * 0x50" identifier * number_literal)) ;) (expression_statement "iVar34 = local_fc + iVar31;" (assignment_expression "iVar34 = local_fc + iVar31" identifier = (binary_expression "local_fc + iVar31" identifier + identifier)) ;) (expression_statement "__nmemb = *(size_t *)(iVar34 + 0x38);" (assignment_expression "__nmemb = *(size_t *)(iVar34 + 0x38)" identifier = (pointer_expression "*(size_t *)(iVar34 + 0x38)" * (cast_expression "(size_t *)(iVar34 + 0x38)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x38)" ( (binary_expression "iVar34 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }" if (parenthesized_expression "(!bVar41)" ( (unary_expression "!bVar41" ! identifier) )) (compound_statement "{\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }" { (if_statement "if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }" if (parenthesized_expression "(__nmemb != 0)" ( (binary_expression "__nmemb != 0" identifier != number_literal) )) (compound_statement "{\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }" { (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" identifier = number_literal) ;) (do_statement "do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);" do (compound_statement "{\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          }" { (expression_statement "*(uint *)((int)local_5c + uVar38 * 4) = uVar38;" (assignment_expression "*(uint *)((int)local_5c + uVar38 * 4) = uVar38" (pointer_expression "*(uint *)((int)local_5c + uVar38 * 4)" * (cast_expression "(uint *)((int)local_5c + uVar38 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + uVar38 * 4)" ( (binary_expression "(int)local_5c + uVar38 * 4" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar38 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "__nmemb = *(uint *)(iVar34 + 0x38);" (assignment_expression "__nmemb = *(uint *)(iVar34 + 0x38)" identifier = (pointer_expression "*(uint *)(iVar34 + 0x38)" * (cast_expression "(uint *)(iVar34 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x38)" ( (binary_expression "iVar34 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar38 = uVar38 + 1;" (assignment_expression "uVar38 = uVar38 + 1" identifier = (binary_expression "uVar38 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar38 < __nmemb)" ( (binary_expression "uVar38 < __nmemb" identifier < identifier) )) ;) })) (expression_statement "DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);" (assignment_expression "DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(iVar34 + 0x2c)" * (cast_expression "(undefined4 *)(iVar34 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x2c)" ( (binary_expression "iVar34 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);" (assignment_expression "DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar34 + 0x30)" * (cast_expression "(undefined4 *)(iVar34 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x30)" ( (binary_expression "iVar34 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "qsort(local_5c,__nmemb,4,FUN_0004c710);" (call_expression "qsort(local_5c,__nmemb,4,FUN_0004c710)" identifier (argument_list "(local_5c,__nmemb,4,FUN_0004c710)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;) (expression_statement "iVar34 = iVar31 + DAT_000b9d64;" (assignment_expression "iVar34 = iVar31 + DAT_000b9d64" identifier = (binary_expression "iVar31 + DAT_000b9d64" identifier + identifier)) ;) (expression_statement "__nmemb = *(size_t *)(iVar34 + 0x38);" (assignment_expression "__nmemb = *(size_t *)(iVar34 + 0x38)" identifier = (pointer_expression "*(size_t *)(iVar34 + 0x38)" * (cast_expression "(size_t *)(iVar34 + 0x38)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x38)" ( (binary_expression "iVar34 + 0x38" identifier + number_literal) ))))) ;) })) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (if_statement "if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }" if (parenthesized_expression "(__nmemb != 0)" ( (binary_expression "__nmemb != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }" { (labeled_statement "LAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);" statement_identifier : (expression_statement "puVar20 = *(uint **)(iVar34 + 0x30);" (assignment_expression "puVar20 = *(uint **)(iVar34 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar34 + 0x30)" * (cast_expression "(uint **)(iVar34 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + 0x30)" ( (binary_expression "iVar34 + 0x30" identifier + number_literal) ))))) ;)) (expression_statement "puVar3 = *(uint **)(iVar34 + 0x2c);" (assignment_expression "puVar3 = *(uint **)(iVar34 + 0x2c)" identifier = (pointer_expression "*(uint **)(iVar34 + 0x2c)" * (cast_expression "(uint **)(iVar34 + 0x2c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + 0x2c)" ( (binary_expression "iVar34 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }" if (parenthesized_expression "(!bVar41)" ( (unary_expression "!bVar41" ! identifier) )) (compound_statement "{\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }" { (expression_statement "local_ec = *(uint *)((int)local_5c + local_f0 * 4);" (assignment_expression "local_ec = *(uint *)((int)local_5c + local_f0 * 4)" identifier = (pointer_expression "*(uint *)((int)local_5c + local_f0 * 4)" * (cast_expression "(uint *)((int)local_5c + local_f0 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + local_f0 * 4)" ( (binary_expression "(int)local_5c + local_f0 * 4" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_f0 * 4" identifier * number_literal)) ))))) ;) (expression_statement "local_108 = puVar3[local_ec * 2 + 1];" (assignment_expression "local_108 = puVar3[local_ec * 2 + 1]" identifier = (subscript_expression "puVar3[local_ec * 2 + 1]" identifier [ (binary_expression "local_ec * 2 + 1" (binary_expression "local_ec * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "local_10c = puVar3[local_ec * 2];" (assignment_expression "local_10c = puVar3[local_ec * 2]" identifier = (subscript_expression "puVar3[local_ec * 2]" identifier [ (binary_expression "local_ec * 2" identifier * number_literal) ])) ;) (expression_statement "uVar38 = puVar20[local_ec * 2];" (assignment_expression "uVar38 = puVar20[local_ec * 2]" identifier = (subscript_expression "puVar20[local_ec * 2]" identifier [ (binary_expression "local_ec * 2" identifier * number_literal) ])) ;) (expression_statement "local_f4 = puVar20[local_ec * 2 + 1];" (assignment_expression "local_f4 = puVar20[local_ec * 2 + 1]" identifier = (subscript_expression "puVar20[local_ec * 2 + 1]" identifier [ (binary_expression "local_ec * 2 + 1" (binary_expression "local_ec * 2" identifier * number_literal) + number_literal) ])) ;) (if_statement "if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }" if (parenthesized_expression "(local_f0 != 0)" ( (binary_expression "local_f0 != 0" identifier != number_literal) )) (compound_statement "{\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }" { (expression_statement "local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;" (assignment_expression "local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3" identifier = (binary_expression "*(int *)((int)local_5c + local_f0 * 4 + -4) << 3" (pointer_expression "*(int *)((int)local_5c + local_f0 * 4 + -4)" * (cast_expression "(int *)((int)local_5c + local_f0 * 4 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + local_f0 * 4 + -4)" ( (binary_expression "(int)local_5c + local_f0 * 4 + -4" (binary_expression "(int)local_5c + local_f0 * 4" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_f0 * 4" identifier * number_literal)) + number_literal) )))) << number_literal)) ;) (goto_statement "goto LAB_0006389e;" goto statement_identifier ;) })) (expression_statement "iVar16 = local_ec << 2;" (assignment_expression "iVar16 = local_ec << 2" identifier = (binary_expression "local_ec << 2" identifier << number_literal)) ;) (labeled_statement "LAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);" statement_identifier : (expression_statement "iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);" (assignment_expression "iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16)" identifier = (pointer_expression "*(int *)(*(int *)(iVar34 + 0x34) + iVar16)" * (cast_expression "(int *)(*(int *)(iVar34 + 0x34) + iVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar34 + 0x34) + iVar16)" ( (binary_expression "*(int *)(iVar34 + 0x34) + iVar16" (pointer_expression "*(int *)(iVar34 + 0x34)" * (cast_expression "(int *)(iVar34 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x34)" ( (binary_expression "iVar34 + 0x34" identifier + number_literal) )))) + identifier) ))))) ;)) (expression_statement "uVar39 = uVar19 + local_10c;" (assignment_expression "uVar39 = uVar19 + local_10c" identifier = (binary_expression "uVar19 + local_10c" identifier + identifier)) ;) (if_statement "if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }" if (parenthesized_expression "((local_f4 & uVar38) == 0xffffffff)" ( (binary_expression "(local_f4 & uVar38) == 0xffffffff" (parenthesized_expression "(local_f4 & uVar38)" ( (binary_expression "local_f4 & uVar38" identifier & identifier) )) == number_literal) )) (compound_statement "{\n            local_ec = 0;\n            bVar6 = false;\n          }" { (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }" else (compound_statement "{\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }" { (expression_statement "local_ec = uVar19 + uVar38;" (assignment_expression "local_ec = uVar19 + uVar38" identifier = (binary_expression "uVar19 + uVar38" identifier + identifier)) ;) (expression_statement "bVar9 = local_ec < uVar39 && local_ec != 0;" (assignment_expression "bVar9 = local_ec < uVar39 && local_ec != 0" identifier = (binary_expression "local_ec < uVar39 && local_ec != 0" (binary_expression "local_ec < uVar39" identifier < identifier) && (binary_expression "local_ec != 0" identifier != number_literal))) ;) (expression_statement "bVar6 = local_ec != 0;" (assignment_expression "bVar6 = local_ec != 0" identifier = (binary_expression "local_ec != 0" identifier != number_literal)) ;) (if_statement "if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }" if (parenthesized_expression "((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec))" ( (binary_expression "(bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)" (parenthesized_expression "(bVar9)" ( identifier )) && (parenthesized_expression "(FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)" ( (comma_expression "FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec" (call_expression "FUN_000520e0(uVar39)" identifier (argument_list "(uVar39)" ( identifier ))) , (comma_expression "bVar6 = bVar9, local_28 == local_ec" (assignment_expression "bVar6 = bVar9" identifier = identifier) , (binary_expression "local_28 == local_ec" identifier == identifier))) ))) )) (compound_statement "{\n              local_28 = local_ec;\n            }" { (expression_statement "local_28 = local_ec;" (assignment_expression "local_28 = local_ec" identifier = identifier) ;) })) }))) (if_statement "if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }" if (parenthesized_expression "(bVar42 && bVar5)" ( (binary_expression "bVar42 && bVar5" identifier && identifier) )) (compound_statement "{\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }" { (if_statement "if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" if (parenthesized_expression "(local_28 < uVar39)" ( (binary_expression "local_28 < uVar39" identifier < identifier) )) (compound_statement "{\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" { (expression_statement "pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";" (assignment_expression "pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"" identifier = (string_literal ""There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" else (compound_statement "{\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" { (if_statement "if (local_28 <= uVar39) goto LAB_000636b8;" if (parenthesized_expression "(local_28 <= uVar39)" ( (binary_expression "local_28 <= uVar39" identifier <= identifier) )) (goto_statement "goto LAB_000636b8;" goto statement_identifier ;)) (expression_statement "pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";" (assignment_expression "pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"" identifier = (string_literal ""There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar15 = dcgettext(0,pcVar14,5);" (assignment_expression "uVar15 = dcgettext(0,pcVar14,5)" identifier = (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "warn(uVar15,local_28 - uVar19,local_10c);" (call_expression "warn(uVar15,local_28 - uVar19,local_10c)" identifier (argument_list "(uVar15,local_28 - uVar19,local_10c)" ( identifier , (binary_expression "local_28 - uVar19" identifier - identifier) , identifier ))) ;) })) (labeled_statement "LAB_000636b8:\n          local_24 = local_ec;" statement_identifier : (expression_statement "local_24 = local_ec;" (assignment_expression "local_24 = local_ec" identifier = identifier) ;)) (expression_statement "local_28 = uVar39;" (assignment_expression "local_28 = uVar39" identifier = identifier) ;) (if_statement "if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }" if (parenthesized_expression "((local_10c < uVar2) <= local_108)" ( (binary_expression "(local_10c < uVar2) <= local_108" (parenthesized_expression "(local_10c < uVar2)" ( (binary_expression "local_10c < uVar2" identifier < identifier) )) <= identifier) )) (compound_statement "{\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }" { (expression_statement "uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5)" identifier = (call_expression "dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5)" identifier (argument_list "(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5)" ( number_literal , (string_literal ""Offset 0x%lx is bigger than .debug_loc section size.\n"" " string_content escape_sequence ") , number_literal )))) ;) (labeled_statement "LAB_0006371f:\n            warn(uVar15,local_10c);" statement_identifier : (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;)) (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) (goto_statement "goto LAB_0006373a;" goto statement_identifier ;) })) (if_statement "if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }" if (parenthesized_expression "((local_ec != 0) && ((uVar38 < uVar2) <= local_f4))" ( (binary_expression "(local_ec != 0) && ((uVar38 < uVar2) <= local_f4)" (parenthesized_expression "(local_ec != 0)" ( (binary_expression "local_ec != 0" identifier != number_literal) )) && (parenthesized_expression "((uVar38 < uVar2) <= local_f4)" ( (binary_expression "(uVar38 < uVar2) <= local_f4" (parenthesized_expression "(uVar38 < uVar2)" ( (binary_expression "uVar38 < uVar2" identifier < identifier) )) <= identifier) ))) )) (compound_statement "{\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }" { (expression_statement "uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5)" identifier = (call_expression "dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5)" identifier (argument_list "(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5)" ( number_literal , (string_literal ""View Offset 0x%lx is bigger than .debug_loc section size.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "local_10c = uVar38;" (assignment_expression "local_10c = uVar38" identifier = identifier) ;) (goto_statement "goto LAB_0006371f;" goto statement_identifier ;) })) (if_statement "if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" if (parenthesized_expression "(pcVar12 == (char *)0x0)" ( (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }" { (expression_statement "uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);" (assignment_expression "uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" identifier = (binary_expression "*(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" (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) )))) + (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" if (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) (compound_statement "{\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }" { (if_statement "if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }" if (parenthesized_expression "(DAT_000b9d6c <= local_8c)" ( (binary_expression "DAT_000b9d6c <= local_8c" identifier <= identifier) )) (compound_statement "{\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }" { (expression_statement "pcVar14 = "No debug information available for loc lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information available for loc lists of entry: %u\n"" identifier = (string_literal ""No debug information available for loc lists of entry: %u\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00064bdb;" goto statement_identifier ;) })) (expression_statement "puVar20 = (uint *)(iVar31 + DAT_000b9d64);" (assignment_expression "puVar20 = (uint *)(iVar31 + DAT_000b9d64)" identifier = (cast_expression "(uint *)(iVar31 + DAT_000b9d64)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + DAT_000b9d64)" ( (binary_expression "iVar31 + DAT_000b9d64" identifier + identifier) )))) ;) (expression_statement "uVar37 = *puVar20;" (assignment_expression "uVar37 = *puVar20" identifier = (pointer_expression "*puVar20" * identifier)) ;) (if_statement "if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }" if (parenthesized_expression "(uVar37 - 2 < 7)" ( (binary_expression "uVar37 - 2 < 7" (binary_expression "uVar37 - 2" identifier - number_literal) < number_literal) )) (compound_statement "{\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }" { (expression_statement "uVar33 = puVar20[3];" (assignment_expression "uVar33 = puVar20[3]" identifier = (subscript_expression "puVar20[3]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = puVar20[2];" (assignment_expression "uVar4 = puVar20[2]" identifier = (subscript_expression "puVar20[2]" identifier [ number_literal ])) ;) (expression_statement "uVar36 = uVar37 * 8 - 1;" (assignment_expression "uVar36 = uVar37 * 8 - 1" identifier = (binary_expression "uVar37 * 8 - 1" (binary_expression "uVar37 * 8" identifier * number_literal) - number_literal)) ;) (expression_statement "bVar30 = (byte)uVar36;" (assignment_expression "bVar30 = (byte)uVar36" identifier = (cast_expression "(byte)uVar36" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "bVar8 = bVar30 & 0x1f;" (assignment_expression "bVar8 = bVar30 & 0x1f" identifier = (binary_expression "bVar30 & 0x1f" identifier & number_literal)) ;) (expression_statement "uVar21 = -2 << (bVar30 & 0x1f);" (assignment_expression "uVar21 = -2 << (bVar30 & 0x1f)" identifier = (binary_expression "-2 << (bVar30 & 0x1f)" number_literal << (parenthesized_expression "(bVar30 & 0x1f)" ( (binary_expression "bVar30 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar22 = uVar21;" (assignment_expression "uVar22 = uVar21" identifier = identifier) ;) (expression_statement "uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;" (assignment_expression "uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8" identifier = (binary_expression "-1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8" (binary_expression "-1 << bVar8" number_literal << identifier) | (binary_expression "0xfffffffeU >> 0x20 - bVar8" number_literal >> (binary_expression "0x20 - bVar8" number_literal - identifier)))) ;) (if_statement "if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }" if (parenthesized_expression "((uVar36 & 0x20) != 0)" ( (binary_expression "(uVar36 & 0x20) != 0" (parenthesized_expression "(uVar36 & 0x20)" ( (binary_expression "uVar36 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar23 = uVar21;" (assignment_expression "uVar23 = uVar21" identifier = identifier) ;) })) (expression_statement "uVar22 = ~uVar22;" (assignment_expression "uVar22 = ~uVar22" identifier = (unary_expression "~uVar22" ~ identifier)) ;) (expression_statement "local_7c = local_ec;" (assignment_expression "local_7c = local_ec" identifier = identifier) ;) (expression_statement "uVar23 = ~uVar23;" (assignment_expression "uVar23 = ~uVar23" identifier = (unary_expression "~uVar23" ~ identifier)) ;) (expression_statement "uVar36 = uVar39;" (assignment_expression "uVar36 = uVar39" identifier = identifier) ;) (while_statement "while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }" { (expression_statement "uVar21 = uVar36 - uVar39;" (assignment_expression "uVar21 = uVar36 - uVar39" identifier = (binary_expression "uVar36 - uVar39" identifier - identifier)) ;) (expression_statement "uVar25 = uVar21 + local_10c;" (assignment_expression "uVar25 = uVar21 + local_10c" identifier = (binary_expression "uVar21 + local_10c" identifier + identifier)) ;) (expression_statement "iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);" (assignment_expression "iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c)" identifier = (binary_expression "((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c)" (binary_expression "((int)uVar21 >> 0x1f) + local_108" (parenthesized_expression "((int)uVar21 >> 0x1f)" ( (binary_expression "(int)uVar21 >> 0x1f" (cast_expression "(int)uVar21" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + identifier) + (cast_expression "(uint)CARRY4(uVar21,local_10c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar21,local_10c)" identifier (argument_list "(uVar21,local_10c)" ( identifier , identifier )))))) ;) (expression_statement "uVar21 = uVar36 + uVar37 * 2;" (assignment_expression "uVar21 = uVar36 + uVar37 * 2" identifier = (binary_expression "uVar36 + uVar37 * 2" identifier + (binary_expression "uVar37 * 2" identifier * number_literal))) ;) (expression_statement "local_28 = uVar36;" (assignment_expression "local_28 = uVar36" identifier = identifier) ;) (if_statement "if (uVar38 < uVar21) break;" if (parenthesized_expression "(uVar38 < uVar21)" ( (binary_expression "uVar38 < uVar21" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "printf("    %8.8lx ",uVar25);" (call_expression "printf("    %8.8lx ",uVar25)" identifier (argument_list "("    %8.8lx ",uVar25)" ( (string_literal ""    %8.8lx "" " string_content ") , identifier ))) ;) (expression_statement "uVar1 = uVar36 + uVar37;" (assignment_expression "uVar1 = uVar36 + uVar37" identifier = (binary_expression "uVar36 + uVar37" identifier + identifier)) ;) (expression_statement "uVar26 = uVar37;" (assignment_expression "uVar26 = uVar37" identifier = identifier) ;) (expression_statement "uVar27 = uVar37;" (assignment_expression "uVar27 = uVar37" identifier = identifier) ;) (if_statement "if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }" if (parenthesized_expression "(uVar1 < uVar38)" ( (binary_expression "uVar1 < uVar38" identifier < identifier) )) (compound_statement "{\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }" { (labeled_statement "LAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);" statement_identifier : (expression_statement "uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);" (assignment_expression "uVar48 = (*DAT_000b9dd8)(uVar36,uVar26)" identifier = (call_expression "(*DAT_000b9dd8)(uVar36,uVar26)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar36,uVar26)" ( identifier , identifier )))) ;)) (expression_statement "uVar44 = uVar48;" (assignment_expression "uVar44 = uVar48" identifier = identifier) ;) (if_statement "if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }" if (parenthesized_expression "((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1))))" ( (binary_expression "(uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))" (parenthesized_expression "(uVar21 == uVar38)" ( (binary_expression "uVar21 == uVar38" identifier == identifier) )) && (parenthesized_expression "((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))" ( (parenthesized_expression "(uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1))" ( (binary_expression "uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)" (binary_expression "uVar38 <= uVar1" identifier <= identifier) || (parenthesized_expression "(uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)" ( (comma_expression "uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1" (assignment_expression "uVar27 = uVar38 - uVar1" identifier = (binary_expression "uVar38 - uVar1" identifier - identifier)) , (binary_expression "7 < (uVar38 - uVar1) - 1" number_literal < (binary_expression "(uVar38 - uVar1) - 1" (parenthesized_expression "(uVar38 - uVar1)" ( (binary_expression "uVar38 - uVar1" identifier - identifier) )) - number_literal))) ))) )) ))) )) (compound_statement "{\n                      uVar45 = 0;\n                    }" { (expression_statement "uVar45 = 0;" (assignment_expression "uVar45 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }" else (compound_statement "{\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }" { (labeled_statement "LAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);" statement_identifier : (expression_statement "uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);" (assignment_expression "uVar45 = (*DAT_000b9dd8)(uVar1,uVar27)" identifier = (call_expression "(*DAT_000b9dd8)(uVar1,uVar27)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar1,uVar27)" ( identifier , identifier )))) ;)) (expression_statement "uVar48 = uVar44 | uVar45;" (assignment_expression "uVar48 = uVar44 | uVar45" identifier = (binary_expression "uVar44 | uVar45" identifier | identifier)) ;) }))) (if_statement "if (uVar48 == 0) goto LAB_00064257;" if (parenthesized_expression "(uVar48 == 0)" ( (binary_expression "uVar48 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00064257;" goto statement_identifier ;)) }) (else_clause "else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }" else (compound_statement "{\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }" { (if_statement "if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }" if (parenthesized_expression "(uVar38 <= uVar36)" ( (binary_expression "uVar38 <= uVar36" identifier <= identifier) )) (compound_statement "{\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }" { (if_statement "if (uVar21 == uVar38) goto LAB_00064230;" if (parenthesized_expression "(uVar21 == uVar38)" ( (binary_expression "uVar21 == uVar38" identifier == identifier) )) (goto_statement "goto LAB_00064230;" goto statement_identifier ;)) (labeled_statement "LAB_0006460a:\n                      uVar44 = 0;" statement_identifier : (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_00064624;" goto statement_identifier ;) })) (expression_statement "uVar26 = uVar38 - uVar36;" (assignment_expression "uVar26 = uVar38 - uVar36" identifier = (binary_expression "uVar38 - uVar36" identifier - identifier)) ;) (if_statement "if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;" if (parenthesized_expression "((uVar38 - uVar36) - 1 < 8)" ( (binary_expression "(uVar38 - uVar36) - 1 < 8" (binary_expression "(uVar38 - uVar36) - 1" (parenthesized_expression "(uVar38 - uVar36)" ( (binary_expression "uVar38 - uVar36" identifier - identifier) )) - number_literal) < number_literal) )) (goto_statement "goto LAB_00064528;" goto statement_identifier ;)) (if_statement "if (uVar21 != uVar38) goto LAB_0006460a;" if (parenthesized_expression "(uVar21 != uVar38)" ( (binary_expression "uVar21 != uVar38" identifier != identifier) )) (goto_statement "goto LAB_0006460a;" goto statement_identifier ;)) (labeled_statement "LAB_00064230:\n                    uVar44 = 0;" statement_identifier : (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;)) (expression_statement "uVar45 = 0;" (assignment_expression "uVar45 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00064257:\n                    local_28 = uVar1 + uVar37;" statement_identifier : (expression_statement "local_28 = uVar1 + uVar37;" (assignment_expression "local_28 = uVar1 + uVar37" identifier = (binary_expression "uVar1 + uVar37" identifier + identifier)) ;)) (expression_statement "iVar24 = FUN_00045000(param_1,uVar25,iVar16);" (assignment_expression "iVar24 = FUN_00045000(param_1,uVar25,iVar16)" identifier = (call_expression "FUN_00045000(param_1,uVar25,iVar16)" identifier (argument_list "(param_1,uVar25,iVar16)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }" if (parenthesized_expression "((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0))" ( (binary_expression "(iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)" (parenthesized_expression "(iVar24 == 0)" ( (binary_expression "iVar24 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)" ( (comma_expression "iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0" (assignment_expression "iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25))" identifier = (call_expression "FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25))" identifier (argument_list "(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25))" ( identifier , (binary_expression "uVar37 + uVar25" identifier + identifier) , (binary_expression "iVar16 + (uint)CARRY4(uVar37,uVar25)" identifier + (cast_expression "(uint)CARRY4(uVar37,uVar25)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar37,uVar25)" identifier (argument_list "(uVar37,uVar25)" ( identifier , identifier ))))) )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<End of list>\n",5)" identifier (argument_list "(0,"<End of list>\n",5)" ( number_literal , (string_literal ""<End of list>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (goto_statement "goto LAB_000646df;" goto statement_identifier ;) })) }))) (expression_statement "local_d8 = (uint)(uVar45 >> 0x20);" (assignment_expression "local_d8 = (uint)(uVar45 >> 0x20)" identifier = (call_expression "(uint)(uVar45 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar45 >> 0x20)" ( (binary_expression "uVar45 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_dc = (int *)uVar45;" (assignment_expression "local_dc = (int *)uVar45" identifier = (cast_expression "(int *)uVar45" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_100 = (uint)(uVar44 >> 0x20);" (assignment_expression "local_100 = (uint)(uVar44 >> 0x20)" identifier = (call_expression "(uint)(uVar44 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar44 >> 0x20)" ( (binary_expression "uVar44 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_104 = (uint)uVar44;" (assignment_expression "local_104 = (uint)uVar44" identifier = (cast_expression "(uint)uVar44" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar36 = uVar1 + uVar37;" (assignment_expression "uVar36 = uVar1 + uVar37" identifier = (binary_expression "uVar1 + uVar37" identifier + identifier)) ;) (if_statement "if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }" if (parenthesized_expression "(((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22))" ( (binary_expression "((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)" (parenthesized_expression "((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22)" ( (binary_expression "(uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22" (binary_expression "(uVar23 & local_100) == uVar23" (parenthesized_expression "(uVar23 & local_100)" ( (binary_expression "uVar23 & local_100" identifier & identifier) )) == identifier) && (binary_expression "(uVar22 & local_104) == uVar22" (parenthesized_expression "(uVar22 & local_104)" ( (binary_expression "uVar22 & local_104" identifier & identifier) )) == identifier)) )) && (parenthesized_expression "((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)" ( (binary_expression "(uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22" (binary_expression "(uVar23 & local_d8) != uVar23" (parenthesized_expression "(uVar23 & local_d8)" ( (binary_expression "uVar23 & local_d8" identifier & identifier) )) != identifier) || (binary_expression "(uVar22 & (uint)local_dc) != uVar22" (parenthesized_expression "(uVar22 & (uint)local_dc)" ( (binary_expression "uVar22 & (uint)local_dc" identifier & (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != identifier)) ))) )) (compound_statement "{\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }" { (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"(base address)\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"(base address)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"(base address)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(base address)\n",5)" identifier (argument_list "(0,"(base address)\n",5)" ( number_literal , (string_literal ""(base address)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }) (else_clause "else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }" else (compound_statement "{\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }" { (expression_statement "local_28 = uVar36;" (assignment_expression "local_28 = uVar36" identifier = identifier) ;) (if_statement "if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }" { (expression_statement "lVar46 = -1;" (assignment_expression "lVar46 = -1" identifier = number_literal) ;) (expression_statement "lVar43 = -1;" (assignment_expression "lVar43 = -1" identifier = number_literal) ;) (expression_statement "bVar42 = uVar36 + 2 == uVar38;" (assignment_expression "bVar42 = uVar36 + 2 == uVar38" identifier = (binary_expression "uVar36 + 2 == uVar38" (binary_expression "uVar36 + 2" identifier + number_literal) == identifier)) ;) (if_statement "if (uVar38 < uVar36 + 2) break;" if (parenthesized_expression "(uVar38 < uVar36 + 2)" ( (binary_expression "uVar38 < uVar36 + 2" identifier < (binary_expression "uVar36 + 2" identifier + number_literal)) )) (break_statement "break;" break ;)) }) (else_clause "else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }" else (compound_statement "{\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }" { (expression_statement "iVar16 = local_7c - uVar39;" (assignment_expression "iVar16 = local_7c - uVar39" identifier = (binary_expression "local_7c - uVar39" identifier - identifier)) ;) (expression_statement "lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);" (assignment_expression "lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38)" identifier = (call_expression "FUN_0004f990(local_7c,local_20,0,uVar38)" identifier (argument_list "(local_7c,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar24 = local_7c + local_20[0];" (assignment_expression "iVar24 = local_7c + local_20[0]" identifier = (binary_expression "local_7c + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);" (assignment_expression "lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38)" identifier = (call_expression "FUN_0004f990(iVar24,local_20,0,uVar38)" identifier (argument_list "(iVar24,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_7c = iVar24 + local_20[0];" (assignment_expression "local_7c = iVar24 + local_20[0]" identifier = (binary_expression "iVar24 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier = (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" ( number_literal , (string_literal ""views at %8.8lx for:\n    %*s "" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55)" identifier (argument_list "(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55)" ( identifier , (binary_expression "iVar16 + local_10c" identifier + identifier) , number_literal , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (expression_statement "bVar42 = uVar36 + 2 == uVar38;" (assignment_expression "bVar42 = uVar36 + 2 == uVar38" identifier = (binary_expression "uVar36 + 2 == uVar38" (binary_expression "uVar36 + 2" identifier + number_literal) == identifier)) ;) (if_statement "if (uVar38 <= uVar36 + 2 && !bVar42) break;" if (parenthesized_expression "(uVar38 <= uVar36 + 2 && !bVar42)" ( (binary_expression "uVar38 <= uVar36 + 2 && !bVar42" (binary_expression "uVar38 <= uVar36 + 2" identifier <= (binary_expression "uVar36 + 2" identifier + number_literal)) && (unary_expression "!bVar42" ! identifier)) )) (break_statement "break;" break ;)) }))) (expression_statement "local_a4 = (uint)((ulonglong)lVar46 >> 0x20);" (assignment_expression "local_a4 = (uint)((ulonglong)lVar46 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar46 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar46 >> 0x20)" ( (binary_expression "(ulonglong)lVar46 >> 0x20" (cast_expression "(ulonglong)lVar46" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_ac = (uint)lVar46;" (assignment_expression "local_ac = (uint)lVar46" identifier = (cast_expression "(uint)lVar46" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_b0 = (uint)((ulonglong)lVar43 >> 0x20);" (assignment_expression "local_b0 = (uint)((ulonglong)lVar43 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar43 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar43 >> 0x20)" ( (binary_expression "(ulonglong)lVar43 >> 0x20" (cast_expression "(ulonglong)lVar43" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_bc = (uint)lVar43;" (assignment_expression "local_bc = (uint)lVar43" identifier = (cast_expression "(uint)lVar43" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_28 = uVar36 + 2;" (assignment_expression "local_28 = uVar36 + 2" identifier = (binary_expression "uVar36 + 2" identifier + number_literal)) ;) (if_statement "if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }" if (parenthesized_expression "((bVar42) && (uVar38 <= uVar36))" ( (binary_expression "(bVar42) && (uVar38 <= uVar36)" (parenthesized_expression "(bVar42)" ( identifier )) && (parenthesized_expression "(uVar38 <= uVar36)" ( (binary_expression "uVar38 <= uVar36" identifier <= identifier) ))) )) (compound_statement "{\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar36 = uVar38;" (assignment_expression "uVar36 = uVar38" identifier = identifier) ;) }) (else_clause "else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }" else (compound_statement "{\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }" { (expression_statement "uVar10 = (*DAT_000b9dd8)(uVar36,2);" (assignment_expression "uVar10 = (*DAT_000b9dd8)(uVar36,2)" identifier = (call_expression "(*DAT_000b9dd8)(uVar36,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar36,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar36 = uVar10 + local_28;" (assignment_expression "uVar36 = uVar10 + local_28" identifier = (binary_expression "uVar10 + local_28" identifier + identifier)) ;) (if_statement "if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }" if (parenthesized_expression "(uVar38 < uVar36)" ( (binary_expression "uVar38 < uVar36" identifier < identifier) )) (compound_statement "{\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }" { (expression_statement "uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5)" identifier = (call_expression "dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5)" identifier (argument_list "(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_000646df;" goto statement_identifier ;) })) }))) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "putc(0x28,*(FILE **)puVar7);" (call_expression "putc(0x28,*(FILE **)puVar7)" identifier (argument_list "(0x28,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);" (assignment_expression "iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1)" identifier = (call_expression "FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1)" identifier (argument_list "(uVar4,uVar10,0,uVar33,0,param_1)" ( identifier , identifier , number_literal , identifier , number_literal , identifier )))) ;) (expression_statement "putc(0x29,*(FILE **)puVar7);" (call_expression "putc(0x29,*(FILE **)puVar7)" identifier (argument_list "(0x29,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }" if (parenthesized_expression "((iVar16 != 0) && (iVar34 == 0))" ( (binary_expression "(iVar16 != 0) && (iVar34 == 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar34 == 0)" ( (binary_expression "iVar34 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" identifier = (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" identifier (argument_list "(0," [without DW_AT_frame_base]",5)" ( number_literal , (string_literal "" [without DW_AT_frame_base]"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" if (parenthesized_expression "((lVar43 == lVar46) && (uVar44 == uVar45))" ( (binary_expression "(lVar43 == lVar46) && (uVar44 == uVar45)" (parenthesized_expression "(lVar43 == lVar46)" ( (binary_expression "lVar43 == lVar46" identifier == identifier) )) && (parenthesized_expression "(uVar44 == uVar45)" ( (binary_expression "uVar44 == uVar45" identifier == identifier) ))) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start == end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start == end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start == end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start == end)",5)" identifier (argument_list "(0," (start == end)",5)" ( number_literal , (string_literal "" (start == end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" identifier (argument_list "(pcVar14,pFVar35)" ( identifier , identifier ))) ;) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" else (if_statement "if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" if (parenthesized_expression "((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45))))" ( (binary_expression "(local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))" (parenthesized_expression "(local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104))" ( (binary_expression "local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)" (binary_expression "local_d8 < local_100" identifier < identifier) || (binary_expression "local_d8 - local_100 < (uint)(local_dc < local_104)" (binary_expression "local_d8 - local_100" identifier - identifier) < (call_expression "(uint)(local_dc < local_104)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_dc < local_104)" ( (binary_expression "local_dc < local_104" identifier < identifier) ))))) )) || (parenthesized_expression "((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))" ( (parenthesized_expression "(local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45))" ( (binary_expression "local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)" (binary_expression "local_a4 < local_b0" identifier < identifier) || (binary_expression "local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)" (binary_expression "local_a4 - local_b0 < (uint)(local_ac < local_bc)" (binary_expression "local_a4 - local_b0" identifier - identifier) < (call_expression "(uint)(local_ac < local_bc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_ac < local_bc)" ( (binary_expression "local_ac < local_bc" identifier < identifier) )))) && (parenthesized_expression "(uVar44 == uVar45)" ( (binary_expression "uVar44 == uVar45" identifier == identifier) )))) )) ))) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start > end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start > end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start > end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start > end)",5)" identifier (argument_list "(0," (start > end)",5)" ( number_literal , (string_literal "" (start > end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" identifier (argument_list "(pcVar14,pFVar35)" ( identifier , identifier ))) ;) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })))) (expression_statement "putc(10,pFVar35);" (call_expression "putc(10,pFVar35)" identifier (argument_list "(10,pFVar35)" ( number_literal , identifier ))) ;) }))) })) (expression_statement "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );" (assignment_expression "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  )" identifier = (call_expression "dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  )" identifier (argument_list "(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  )" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (labeled_statement "LAB_000646df:\n                local_24 = local_7c;" statement_identifier : (expression_statement "local_24 = local_7c;" (assignment_expression "local_24 = local_7c" identifier = identifier) ;)) }) (else_clause "else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }" else (compound_statement "{\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }" { (expression_statement "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier = (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,uVar37,local_8c);" (call_expression "warn(uVar15,uVar37,local_8c)" identifier (argument_list "(uVar15,uVar37,local_8c)" ( identifier , identifier , identifier ))) ;) }))) }) (else_clause "else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" else (if_statement "if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" if (parenthesized_expression "(local_8c < DAT_000b9d6c)" ( (binary_expression "local_8c < DAT_000b9d6c" identifier < identifier) )) (compound_statement "{\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" { (expression_statement "piVar17 = (int *)(iVar31 + DAT_000b9d64);" (assignment_expression "piVar17 = (int *)(iVar31 + DAT_000b9d64)" identifier = (cast_expression "(int *)(iVar31 + DAT_000b9d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + DAT_000b9d64)" ( (binary_expression "iVar31 + DAT_000b9d64" identifier + identifier) )))) ;) (expression_statement "iVar16 = *piVar17;" (assignment_expression "iVar16 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (if_statement "if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }" if (parenthesized_expression "(iVar16 - 2U < 7)" ( (binary_expression "iVar16 - 2U < 7" (binary_expression "iVar16 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }" { (expression_statement "iVar16 = piVar17[3];" (assignment_expression "iVar16 = piVar17[3]" identifier = (subscript_expression "piVar17[3]" identifier [ number_literal ])) ;) (expression_statement "iVar24 = piVar17[2];" (assignment_expression "iVar24 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "local_104 = local_ec;" (assignment_expression "local_104 = local_ec" identifier = identifier) ;) (expression_statement "uVar37 = uVar39;" (assignment_expression "uVar37 = uVar39" identifier = identifier) ;) (labeled_statement "code_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );" statement_identifier : (do_statement "do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );" do (compound_statement "{\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                }" { (expression_statement "printf("    %8.8lx ",local_10c + (uVar37 - uVar39));" (call_expression "printf("    %8.8lx ",local_10c + (uVar37 - uVar39))" identifier (argument_list "("    %8.8lx ",local_10c + (uVar37 - uVar39))" ( (string_literal ""    %8.8lx "" " string_content ") , (binary_expression "local_10c + (uVar37 - uVar39)" identifier + (parenthesized_expression "(uVar37 - uVar39)" ( (binary_expression "uVar37 - uVar39" identifier - identifier) ))) ))) ;) (if_statement "if (uVar38 <= uVar37) goto LAB_00064ec7;" if (parenthesized_expression "(uVar38 <= uVar37)" ( (binary_expression "uVar38 <= uVar37" identifier <= identifier) )) (goto_statement "goto LAB_00064ec7;" goto statement_identifier ;)) (expression_statement "local_28 = uVar37 + 1;" (assignment_expression "local_28 = uVar37 + 1" identifier = (binary_expression "uVar37 + 1" identifier + number_literal)) ;) (expression_statement "uVar36 = local_68;" (assignment_expression "uVar36 = local_68" identifier = identifier) ;) (if_statement "if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }" if (parenthesized_expression "((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))" ( (binary_expression "(uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1)" (parenthesized_expression "(uVar38 <= local_28)" ( (binary_expression "uVar38 <= local_28" identifier <= identifier) )) && (parenthesized_expression "(uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1)" ( (comma_expression "uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1" (assignment_expression "uVar36 = uVar38 - uVar37" identifier = (binary_expression "uVar38 - uVar37" identifier - identifier)) , (binary_expression "7 < (uVar38 - uVar37) - 1" number_literal < (binary_expression "(uVar38 - uVar37) - 1" (parenthesized_expression "(uVar38 - uVar37)" ( (binary_expression "uVar38 - uVar37" identifier - identifier) )) - number_literal))) ))) )) (compound_statement "{\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }" { (labeled_statement "code_r0x00063f01:\n                    local_24 = local_104;" statement_identifier : (expression_statement "local_24 = local_104;" (assignment_expression "local_24 = local_104" identifier = identifier) ;)) (expression_statement "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<End of list>\n",5)" identifier (argument_list "(0,"<End of list>\n",5)" ( number_literal , (string_literal ""<End of list>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (expression_statement "iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);" (assignment_expression "iVar28 = (*DAT_000b9dd8)(uVar37,uVar36)" identifier = (call_expression "(*DAT_000b9dd8)(uVar37,uVar36)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar37,uVar36)" ( identifier , identifier )))) ;) (if_statement "if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }" if (parenthesized_expression "(local_104 != 0)" ( (binary_expression "local_104 != 0" identifier != number_literal) )) (compound_statement "{\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }" { (if_statement "if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }" if (parenthesized_expression "(iVar28 - 2U < 3)" ( (binary_expression "iVar28 - 2U < 3" (binary_expression "iVar28 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }" { (expression_statement "iVar18 = local_104 - uVar39;" (assignment_expression "iVar18 = local_104 - uVar39" identifier = (binary_expression "local_104 - uVar39" identifier - identifier)) ;) (expression_statement "FUN_0004f990(local_104,local_20,0,uVar38);" (call_expression "FUN_0004f990(local_104,local_20,0,uVar38)" identifier (argument_list "(local_104,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar32 = local_104 + local_20[0];" (assignment_expression "iVar32 = local_104 + local_20[0]" identifier = (binary_expression "local_104 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004f990(iVar32,local_20,0,uVar38);" (call_expression "FUN_0004f990(iVar32,local_20,0,uVar38)" identifier (argument_list "(iVar32,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "local_104 = iVar32 + local_20[0];" (assignment_expression "local_104 = iVar32 + local_20[0]" identifier = (binary_expression "iVar32 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier = (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" ( number_literal , (string_literal ""views at %8.8lx for:\n    %*s "" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" identifier (argument_list "(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" ( identifier , (binary_expression "iVar18 + local_10c" identifier + identifier) , number_literal , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (switch_statement "switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }" switch (parenthesized_expression "(iVar28)" ( identifier )) (compound_statement "{\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }" { (case_statement "case 2:\n                        goto code_r0x00064a4b;" case number_literal : (goto_statement "goto code_r0x00064a4b;" goto statement_identifier ;)) (case_statement "case 3:\n                        goto code_r0x000648fb;" case number_literal : (goto_statement "goto code_r0x000648fb;" goto statement_identifier ;)) (case_statement "case 4:\n                        goto code_r0x00064a90;" case number_literal : (goto_statement "goto code_r0x00064a90;" goto statement_identifier ;)) })) }) (else_clause "else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }" else (compound_statement "{\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }" { (switch_statement "switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }" switch (parenthesized_expression "(iVar28)" ( identifier )) (compound_statement "{\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }" { (case_statement "case 0:\n                        goto code_r0x00063f01;" case number_literal : (goto_statement "goto code_r0x00063f01;" goto statement_identifier ;)) (case_statement "case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;" case number_literal : (expression_statement "FUN_0004f990(local_28,local_20,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_20,0,uVar38)" identifier (argument_list "(local_28,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar28 = local_20[0];" (assignment_expression "iVar28 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar15 = 0x15;" (assignment_expression "uVar15 = 0x15" identifier = number_literal) ;) (goto_statement "goto code_r0x00064b2b;" goto statement_identifier ;)) })) }))) (labeled_statement "LAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);" statement_identifier : (expression_statement "uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5)" identifier = (call_expression "dcgettext(0,"Unknown location list entry type 0x%x.\n",5)" identifier (argument_list "(0,"Unknown location list entry type 0x%x.\n",5)" ( number_literal , (string_literal ""Unknown location list entry type 0x%x.\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "warn(uVar15,iVar28);" (call_expression "warn(uVar15,iVar28)" identifier (argument_list "(uVar15,iVar28)" ( identifier , identifier ))) ;) (expression_statement "local_24 = local_104;" (assignment_expression "local_24 = local_104" identifier = identifier) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (switch_statement "switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }" switch (parenthesized_expression "(iVar28)" ( identifier )) (compound_statement "{\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }" { (case_statement "case 0:\n                    goto code_r0x00063f01;" case number_literal : (goto_statement "goto code_r0x00063f01;" goto statement_identifier ;)) (case_statement "case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;" case number_literal : (expression_statement "FUN_0004f990(local_28,local_20,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_20,0,uVar38)" identifier (argument_list "(local_28,local_20,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar28 = local_20[0];" (assignment_expression "iVar28 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar15 = 9;" (assignment_expression "uVar15 = 9" identifier = number_literal) ;) (labeled_statement "code_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;" statement_identifier : (expression_statement "uVar37 = iVar28 + local_28;" (assignment_expression "uVar37 = iVar28 + local_28" identifier = (binary_expression "iVar28 + local_28" identifier + identifier)) ;)) (expression_statement "printf("%*s",uVar15,&DAT_0007bc55);" (call_expression "printf("%*s",uVar15,&DAT_0007bc55)" identifier (argument_list "("%*s",uVar15,&DAT_0007bc55)" ( (string_literal ""%*s"" " string_content ") , identifier , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"(base address selection entry)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(base address selection entry)\n",5)" identifier (argument_list "(0,"(base address selection entry)\n",5)" ( number_literal , (string_literal ""(base address selection entry)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (goto_statement "goto code_r0x00063ec0;" goto statement_identifier ;)) (case_statement "case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;" case number_literal : (labeled_statement "code_r0x00064a4b:\n                    local_dc = local_20;" statement_identifier : (expression_statement "local_dc = local_20;" (assignment_expression "local_dc = local_20" identifier = identifier) ;)) (expression_statement "FUN_0004f990(local_28,local_dc,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_dc,0,uVar38)" identifier (argument_list "(local_28,local_dc,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar28 = local_28 + local_20[0];" (assignment_expression "iVar28 = local_28 + local_20[0]" identifier = (binary_expression "local_28 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004f990(iVar28,local_dc,0,uVar38);" (call_expression "FUN_0004f990(iVar28,local_dc,0,uVar38)" identifier (argument_list "(iVar28,local_dc,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar37 = local_20[0] + iVar28;" (assignment_expression "uVar37 = local_20[0] + iVar28" identifier = (binary_expression "local_20[0] + iVar28" (subscript_expression "local_20[0]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;" case number_literal : (labeled_statement "code_r0x000648fb:\n                    local_dc = local_20;" statement_identifier : (expression_statement "local_dc = local_20;" (assignment_expression "local_dc = local_20" identifier = identifier) ;)) (expression_statement "FUN_0004f990(local_28,local_dc,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_dc,0,uVar38)" identifier (argument_list "(local_28,local_dc,0,uVar38)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "local_28 = local_28 + local_20[0];" (assignment_expression "local_28 = local_28 + local_20[0]" identifier = (binary_expression "local_28 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar37 = local_28 + 4;" (assignment_expression "uVar37 = local_28 + 4" identifier = (binary_expression "local_28 + 4" identifier + number_literal)) ;) (if_statement "if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }" if (parenthesized_expression "(uVar37 < uVar38)" ( (binary_expression "uVar37 < uVar38" identifier < identifier) )) (compound_statement "{\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }" { (expression_statement "iVar28 = 4;" (assignment_expression "iVar28 = 4" identifier = number_literal) ;) (labeled_statement "code_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);" statement_identifier : (expression_statement "uVar15 = (*DAT_000b9dd8)(local_28,iVar28);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(local_28,iVar28)" identifier = (call_expression "(*DAT_000b9dd8)(local_28,iVar28)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_28,iVar28)" ( identifier , identifier )))) ;)) }) (else_clause "else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }" else (compound_statement "{\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (if_statement "if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;" if (parenthesized_expression "((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))" ( (binary_expression "(local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8)" (parenthesized_expression "(local_28 < uVar38)" ( (binary_expression "local_28 < uVar38" identifier < identifier) )) && (parenthesized_expression "(iVar28 = uVar38 - local_28, iVar28 - 1U < 8)" ( (comma_expression "iVar28 = uVar38 - local_28, iVar28 - 1U < 8" (assignment_expression "iVar28 = uVar38 - local_28" identifier = (binary_expression "uVar38 - local_28" identifier - identifier)) , (binary_expression "iVar28 - 1U < 8" (binary_expression "iVar28 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto code_r0x00064e5d;" goto statement_identifier ;)) }))) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" identifier (argument_list "("%08x ",uVar15)" ( (string_literal ""%08x "" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;" case number_literal : (labeled_statement "code_r0x00064a90:\n                    uVar36 = uVar37 + 5;" statement_identifier : (expression_statement "uVar36 = uVar37 + 5;" (assignment_expression "uVar36 = uVar37 + 5" identifier = (binary_expression "uVar37 + 5" identifier + number_literal)) ;)) (if_statement "if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }" if (parenthesized_expression "(uVar36 < uVar38)" ( (binary_expression "uVar36 < uVar38" identifier < identifier) )) (compound_statement "{\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }" { (expression_statement "uVar15 = (*DAT_000b9dd8)(local_28,4);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(local_28,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_28,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_28,4)" ( identifier , number_literal )))) ;) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" identifier (argument_list "("%08x ",uVar15)" ( (string_literal ""%08x "" " string_content ") , identifier ))) ;) (if_statement "if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;" if (parenthesized_expression "(uVar37 + 9 < uVar38)" ( (binary_expression "uVar37 + 9 < uVar38" (binary_expression "uVar37 + 9" identifier + number_literal) < identifier) )) (goto_statement "goto code_r0x00064ad0;" goto statement_identifier ;)) (expression_statement "iVar28 = uVar38 - uVar36;" (assignment_expression "iVar28 = uVar38 - uVar36" identifier = (binary_expression "uVar38 - uVar36" identifier - identifier)) ;) (if_statement "if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }" if (parenthesized_expression "(7 < iVar28 - 1U)" ( (binary_expression "7 < iVar28 - 1U" number_literal < (binary_expression "iVar28 - 1U" identifier - number_literal)) )) (compound_statement "{\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (goto_statement "goto code_r0x00064ae3;" goto statement_identifier ;) })) (labeled_statement "code_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);" statement_identifier : (expression_statement "uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(uVar36,iVar28)" identifier = (call_expression "(*DAT_000b9dd8)(uVar36,iVar28)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar36,iVar28)" ( identifier , identifier )))) ;)) }) (else_clause "else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }" else (compound_statement "{\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }" { (if_statement "if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }" if (parenthesized_expression "(local_28 < uVar38)" ( (binary_expression "local_28 < uVar38" identifier < identifier) )) (compound_statement "{\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }" { (expression_statement "uVar33 = (uVar38 - local_28) - 1;" (assignment_expression "uVar33 = (uVar38 - local_28) - 1" identifier = (binary_expression "(uVar38 - local_28) - 1" (parenthesized_expression "(uVar38 - local_28)" ( (binary_expression "uVar38 - local_28" identifier - identifier) )) - number_literal)) ;) (if_statement "if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }" if (parenthesized_expression "(uVar33 < 8)" ( (binary_expression "uVar33 < 8" identifier < number_literal) )) (compound_statement "{\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }" { (expression_statement "uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33)" identifier = (call_expression "(*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_28,uVar38 - local_28,uVar33,uVar33)" ( identifier , (binary_expression "uVar38 - local_28" identifier - identifier) , identifier , identifier )))) ;) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" identifier (argument_list "("%08x ",uVar15)" ( (string_literal ""%08x "" " string_content ") , identifier ))) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (if_statement "if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;" if (parenthesized_expression "(uVar38 <= uVar37 + 9)" ( (binary_expression "uVar38 <= uVar37 + 9" identifier <= (binary_expression "uVar37 + 9" identifier + number_literal)) )) (goto_statement "goto code_r0x00064ae3;" goto statement_identifier ;)) (goto_statement "goto code_r0x00064ad0;" goto statement_identifier ;) })) })) (expression_statement "printf("%08x ",0);" (call_expression "printf("%08x ",0)" identifier (argument_list "("%08x ",0)" ( (string_literal ""%08x "" " string_content ") , number_literal ))) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (if_statement "if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }" if (parenthesized_expression "(uVar37 + 9 < uVar38)" ( (binary_expression "uVar37 + 9 < uVar38" (binary_expression "uVar37 + 9" identifier + number_literal) < identifier) )) (compound_statement "{\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }" { (labeled_statement "code_r0x00064ad0:\n                        iVar28 = 4;" statement_identifier : (expression_statement "iVar28 = 4;" (assignment_expression "iVar28 = 4" identifier = number_literal) ;)) (goto_statement "goto code_r0x00064ad5;" goto statement_identifier ;) })) }))) (labeled_statement "code_r0x00064ae3:\n                    uVar37 = uVar37 + 9;" statement_identifier : (expression_statement "uVar37 = uVar37 + 9;" (assignment_expression "uVar37 = uVar37 + 9" identifier = (binary_expression "uVar37 + 9" identifier + number_literal)) ;)) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" identifier (argument_list "("%08x ",uVar15)" ( (string_literal ""%08x "" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    goto LAB_00064cd8;" default : (goto_statement "goto LAB_00064cd8;" goto statement_identifier ;)) })) (expression_statement "local_28 = uVar37 + 2;" (assignment_expression "local_28 = uVar37 + 2" identifier = (binary_expression "uVar37 + 2" identifier + number_literal)) ;) (if_statement "if (uVar38 < local_28) goto LAB_00064ec7;" if (parenthesized_expression "(uVar38 < local_28)" ( (binary_expression "uVar38 < local_28" identifier < identifier) )) (goto_statement "goto LAB_00064ec7;" goto statement_identifier ;)) (if_statement "if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }" if (parenthesized_expression "((local_28 == uVar38) && (uVar38 <= uVar37))" ( (binary_expression "(local_28 == uVar38) && (uVar38 <= uVar37)" (parenthesized_expression "(local_28 == uVar38)" ( (binary_expression "local_28 == uVar38" identifier == identifier) )) && (parenthesized_expression "(uVar38 <= uVar37)" ( (binary_expression "uVar38 <= uVar37" identifier <= identifier) ))) )) (compound_statement "{\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar37 = uVar38;" (assignment_expression "uVar37 = uVar38" identifier = identifier) ;) }) (else_clause "else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }" else (compound_statement "{\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }" { (expression_statement "uVar10 = (*DAT_000b9dd8)(uVar37,2);" (assignment_expression "uVar10 = (*DAT_000b9dd8)(uVar37,2)" identifier = (call_expression "(*DAT_000b9dd8)(uVar37,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar37,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar37 = local_28 + uVar10;" (assignment_expression "uVar37 = local_28 + uVar10" identifier = (binary_expression "local_28 + uVar10" identifier + identifier)) ;) (if_statement "if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }" if (parenthesized_expression "(uVar38 < uVar37)" ( (binary_expression "uVar38 < uVar37" identifier < identifier) )) (compound_statement "{\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }" { (expression_statement "uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5)" identifier = (call_expression "dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5)" identifier (argument_list "(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (goto_statement "goto code_r0x00064ee9;" goto statement_identifier ;) })) }))) (expression_statement "putc(0x28,*(FILE **)puVar7);" (call_expression "putc(0x28,*(FILE **)puVar7)" identifier (argument_list "(0x28,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);" (assignment_expression "iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1)" identifier = (call_expression "FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1)" identifier (argument_list "(iVar24,uVar10,0,iVar16,0,param_1)" ( identifier , identifier , number_literal , identifier , number_literal , identifier )))) ;) (expression_statement "putc(0x29,*(FILE **)puVar7);" (call_expression "putc(0x29,*(FILE **)puVar7)" identifier (argument_list "(0x29,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" if (parenthesized_expression "((iVar28 != 0) && (iVar34 == 0))" ( (binary_expression "(iVar28 != 0) && (iVar34 == 0)" (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar34 == 0)" ( (binary_expression "iVar34 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" { (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" identifier = (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" identifier (argument_list "(0," [without DW_AT_frame_base]",5)" ( number_literal , (string_literal "" [without DW_AT_frame_base]"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" identifier (argument_list "(10,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier = (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,iVar16,local_8c);" (call_expression "warn(uVar15,iVar16,local_8c)" identifier (argument_list "(uVar15,iVar16,local_8c)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" else (compound_statement "{\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" { (expression_statement "pcVar14 = "No debug information for loc lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information for loc lists of entry: %u\n"" identifier = (string_literal ""No debug information for loc lists of entry: %u\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);" statement_identifier : (expression_statement "uVar15 = dcgettext(0,pcVar14,5);" (assignment_expression "uVar15 = dcgettext(0,pcVar14,5)" identifier = (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "warn(uVar15,local_8c);" (call_expression "warn(uVar15,local_8c)" identifier (argument_list "(uVar15,local_8c)" ( identifier , identifier ))) ;) }))))) }) (else_clause "else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" else (if_statement "if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" if (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) (compound_statement "{\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }" { (if_statement "if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }" if (parenthesized_expression "(DAT_000b9d6c <= local_8c)" ( (binary_expression "DAT_000b9d6c <= local_8c" identifier <= identifier) )) (compound_statement "{\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }" { (expression_statement "pcVar14 = "No debug information available for loclists lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information available for loclists lists of entry: %u\n"" identifier = (string_literal ""No debug information available for loclists lists of entry: %u\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00064bdb;" goto statement_identifier ;) })) (expression_statement "piVar17 = (int *)(iVar31 + DAT_000b9d64);" (assignment_expression "piVar17 = (int *)(iVar31 + DAT_000b9d64)" identifier = (cast_expression "(int *)(iVar31 + DAT_000b9d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + DAT_000b9d64)" ( (binary_expression "iVar31 + DAT_000b9d64" identifier + identifier) )))) ;) (expression_statement "iVar16 = *piVar17;" (assignment_expression "iVar16 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (if_statement "if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" if (parenthesized_expression "(iVar16 - 2U < 7)" ( (binary_expression "iVar16 - 2U < 7" (binary_expression "iVar16 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }" { (expression_statement "uVar45 = 0xffffffffffffffff;" (assignment_expression "uVar45 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "iVar24 = piVar17[3];" (assignment_expression "iVar24 = piVar17[3]" identifier = (subscript_expression "piVar17[3]" identifier [ number_literal ])) ;) (expression_statement "uVar44 = 0xffffffffffffffff;" (assignment_expression "uVar44 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);" (assignment_expression "uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c)" identifier = (binary_expression "*(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c)" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar28 = piVar17[2];" (assignment_expression "iVar28 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "local_f4 = local_ec;" (assignment_expression "local_f4 = local_ec" identifier = identifier) ;) (expression_statement "uVar38 = local_10c;" (assignment_expression "uVar38 = local_10c" identifier = identifier) ;) (while_statement "while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }" while (parenthesized_expression "(uVar36 = local_28 + 1, uVar36 <= uVar37)" ( (comma_expression "uVar36 = local_28 + 1, uVar36 <= uVar37" (assignment_expression "uVar36 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) , (binary_expression "uVar36 <= uVar37" identifier <= identifier)) )) (compound_statement "{\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }" { (expression_statement "printf("    %8.8lx ",uVar38);" (call_expression "printf("    %8.8lx ",uVar38)" identifier (argument_list "("    %8.8lx ",uVar38)" ( (string_literal ""    %8.8lx "" " string_content ") , identifier ))) ;) (if_statement "if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }" if (parenthesized_expression "((uVar37 == uVar36) && (uVar37 <= local_28))" ( (binary_expression "(uVar37 == uVar36) && (uVar37 <= local_28)" (parenthesized_expression "(uVar37 == uVar36)" ( (binary_expression "uVar37 == uVar36" identifier == identifier) )) && (parenthesized_expression "(uVar37 <= local_28)" ( (binary_expression "uVar37 <= local_28" identifier <= identifier) ))) )) (compound_statement "{\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }" { (labeled_statement "LAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" statement_identifier : (expression_statement "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<End of list>\n",5)" identifier (argument_list "(0,"<End of list>\n",5)" ( number_literal , (string_literal ""<End of list>\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) (expression_statement "local_28 = uVar36;" (assignment_expression "local_28 = uVar36" identifier = identifier) ;) (goto_statement "goto LAB_000639ec;" goto statement_identifier ;) })) (expression_statement "uVar38 = (*DAT_000b9dd8)(local_28,1);" (assignment_expression "uVar38 = (*DAT_000b9dd8)(local_28,1)" identifier = (call_expression "(*DAT_000b9dd8)(local_28,1)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_28,1)" ( identifier , number_literal )))) ;) (if_statement "if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }" if (parenthesized_expression "((local_f4 == 0) || (uVar38 != 4))" ( (binary_expression "(local_f4 == 0) || (uVar38 != 4)" (parenthesized_expression "(local_f4 == 0)" ( (binary_expression "local_f4 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar38 != 4)" ( (binary_expression "uVar38 != 4" identifier != number_literal) ))) )) (compound_statement "{\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }" { (if_statement "if (uVar38 == 4) goto LAB_00063b0b;" if (parenthesized_expression "(uVar38 == 4)" ( (binary_expression "uVar38 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00063b0b;" goto statement_identifier ;)) (if_statement "if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }" if (parenthesized_expression "(uVar38 < 5)" ( (binary_expression "uVar38 < 5" identifier < number_literal) )) (compound_statement "{\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }" { (if_statement "if (uVar38 == 0) goto LAB_000639ce;" if (parenthesized_expression "(uVar38 == 0)" ( (binary_expression "uVar38 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000639ce;" goto statement_identifier ;)) (labeled_statement "LAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);" statement_identifier : (expression_statement "uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5)" identifier = (call_expression "dcgettext(0,"Invalid location list entry type %d\n",5)" identifier (argument_list "(0,"Invalid location list entry type %d\n",5)" ( number_literal , (string_literal ""Invalid location list entry type %d\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "error(uVar15,uVar38);" (call_expression "error(uVar15,uVar38)" identifier (argument_list "(uVar15,uVar38)" ( identifier , identifier ))) ;) (expression_statement "local_28 = uVar39;" (assignment_expression "local_28 = uVar39" identifier = identifier) ;) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (if_statement "if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }" if (parenthesized_expression "(uVar38 == 6)" ( (binary_expression "uVar38 == 6" identifier == number_literal) )) (compound_statement "{\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }" { (expression_statement "local_28 = uVar36 + iVar16;" (assignment_expression "local_28 = uVar36 + iVar16" identifier = (binary_expression "uVar36 + iVar16" identifier + identifier)) ;) (expression_statement "iVar18 = iVar16;" (assignment_expression "iVar18 = iVar16" identifier = identifier) ;) (if_statement "if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }" if (parenthesized_expression "((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))" ( (binary_expression "(local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)))" (parenthesized_expression "(local_28 < uVar37)" ( (binary_expression "local_28 < uVar37" identifier < identifier) )) || (parenthesized_expression "((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)))" ( (parenthesized_expression "(uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))" ( (binary_expression "uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)" (binary_expression "uVar36 < uVar37" identifier < identifier) && (parenthesized_expression "(iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)" ( (comma_expression "iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8" (assignment_expression "iVar18 = uVar37 - uVar36" identifier = (binary_expression "uVar37 - uVar36" identifier - identifier)) , (binary_expression "(uVar37 - uVar36) - 1 < 8" (binary_expression "(uVar37 - uVar36) - 1" (parenthesized_expression "(uVar37 - uVar36)" ( (binary_expression "uVar37 - uVar36" identifier - identifier) )) - number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }" { (expression_statement "(*DAT_000b9dd8)(uVar36,iVar18);" (call_expression "(*DAT_000b9dd8)(uVar36,iVar18)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(uVar36,iVar18)" ( identifier , identifier ))) ;) })) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = "(base address)\n";" (assignment_expression "pcVar14 = "(base address)\n"" identifier = (string_literal ""(base address)\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }" else (compound_statement "{\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }" { (if_statement "if (uVar38 != 9) goto LAB_00063e0a;" if (parenthesized_expression "(uVar38 != 9)" ( (binary_expression "uVar38 != 9" identifier != number_literal) )) (goto_statement "goto LAB_00063e0a;" goto statement_identifier ;)) (if_statement "if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }" if (parenthesized_expression "(local_f4 != 0)" ( (binary_expression "local_f4 != 0" identifier != number_literal) )) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }" { (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" identifier (argument_list "(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" ( number_literal , (string_literal ""View pair entry in loclist with locviews attribute\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);" (assignment_expression "uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(uVar36,local_20,0,uVar37)" identifier (argument_list "(uVar36,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar18 = uVar36 + local_20[0];" (assignment_expression "iVar18 = uVar36 + local_20[0]" identifier = (binary_expression "uVar36 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);" (assignment_expression "uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(iVar18,local_20,0,uVar37)" identifier (argument_list "(iVar18,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_28 = iVar18 + local_20[0];" (assignment_expression "local_28 = iVar18 + local_20[0]" identifier = (binary_expression "iVar18 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = "views for:\n";" (assignment_expression "pcVar14 = "views for:\n"" identifier = (string_literal ""views for:\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "pcVar14 = (char *)dcgettext(0,pcVar14,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,pcVar14,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar14,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }) (else_clause "else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }" else (compound_statement "{\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }" { (expression_statement "iVar18 = local_f4 - uVar39;" (assignment_expression "iVar18 = local_f4 - uVar39" identifier = (binary_expression "local_f4 - uVar39" identifier - identifier)) ;) (expression_statement "uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);" (assignment_expression "uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(local_f4,local_20,0,uVar37)" identifier (argument_list "(local_f4,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar32 = local_f4 + local_20[0];" (assignment_expression "iVar32 = local_f4 + local_20[0]" identifier = (binary_expression "local_f4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);" (assignment_expression "uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(iVar32,local_20,0,uVar37)" identifier (argument_list "(iVar32,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_f4 = iVar32 + local_20[0];" (assignment_expression "local_f4 = iVar32 + local_20[0]" identifier = (binary_expression "iVar32 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier = (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" identifier (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" ( number_literal , (string_literal ""views at %8.8lx for:\n    %*s "" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" identifier (argument_list "(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" ( identifier , (binary_expression "iVar18 + local_10c" identifier + identifier) , number_literal , (pointer_expression "&DAT_0007bc55" & identifier) ))) ;) (labeled_statement "LAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);" statement_identifier : (expression_statement "local_b0 = (uint)(uVar45 >> 0x20);" (assignment_expression "local_b0 = (uint)(uVar45 >> 0x20)" identifier = (call_expression "(uint)(uVar45 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar45 >> 0x20)" ( (binary_expression "uVar45 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "local_bc = (uint)uVar45;" (assignment_expression "local_bc = (uint)uVar45" identifier = (cast_expression "(uint)uVar45" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_c8 = (uint)(uVar44 >> 0x20);" (assignment_expression "local_c8 = (uint)(uVar44 >> 0x20)" identifier = (call_expression "(uint)(uVar44 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar44 >> 0x20)" ( (binary_expression "uVar44 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_dc = (int *)uVar44;" (assignment_expression "local_dc = (int *)uVar44" identifier = (cast_expression "(int *)uVar44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);" (assignment_expression "lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(uVar36,local_20,0,uVar37)" identifier (argument_list "(uVar36,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar38 = (uint)((ulonglong)lVar43 >> 0x20);" (assignment_expression "uVar38 = (uint)((ulonglong)lVar43 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar43 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar43 >> 0x20)" ( (binary_expression "(ulonglong)lVar43 >> 0x20" (cast_expression "(ulonglong)lVar43" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "iVar18 = uVar36 + local_20[0];" (assignment_expression "iVar18 = uVar36 + local_20[0]" identifier = (binary_expression "uVar36 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);" (assignment_expression "lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(iVar18,local_20,0,uVar37)" identifier (argument_list "(iVar18,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar36 = (uint)((ulonglong)lVar46 >> 0x20);" (assignment_expression "uVar36 = (uint)((ulonglong)lVar46 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar46 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar46 >> 0x20)" ( (binary_expression "(ulonglong)lVar46 >> 0x20" (cast_expression "(ulonglong)lVar46" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_28 = iVar18 + local_20[0];" (assignment_expression "local_28 = iVar18 + local_20[0]" identifier = (binary_expression "iVar18 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (if_statement "if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }" if (parenthesized_expression "(uVar37 < local_28 + 2)" ( (binary_expression "uVar37 < local_28 + 2" identifier < (binary_expression "local_28 + 2" identifier + number_literal)) )) (compound_statement "{\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }" { (expression_statement "uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5)" identifier = (call_expression "dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5)" identifier (argument_list "(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_000639ec;" goto statement_identifier ;) })) (expression_statement "uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);" (assignment_expression "uVar47 = FUN_0004f990(local_28,local_20,0,uVar37)" identifier = (call_expression "FUN_0004f990(local_28,local_20,0,uVar37)" identifier (argument_list "(local_28,local_20,0,uVar37)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar32 = local_28 + local_20[0];" (assignment_expression "iVar32 = local_28 + local_20[0]" identifier = (binary_expression "local_28 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" identifier (argument_list "()" ( ))) ;) (expression_statement "putc(0x28,*(FILE **)puVar7);" (call_expression "putc(0x28,*(FILE **)puVar7)" identifier (argument_list "(0x28,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);" (assignment_expression "iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1)" identifier = (call_expression "FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1)" identifier (argument_list "(iVar28,uVar47,iVar24,0,param_1)" ( identifier , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "putc(0x29,*(FILE **)puVar7);" (call_expression "putc(0x29,*(FILE **)puVar7)" identifier (argument_list "(0x29,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" if (parenthesized_expression "((iVar18 != 0) && (iVar34 == 0))" ( (binary_expression "(iVar18 != 0) && (iVar34 == 0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar34 == 0)" ( (binary_expression "iVar34 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" { (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" identifier = (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" identifier (argument_list "(0," [without DW_AT_frame_base]",5)" ( number_literal , (string_literal "" [without DW_AT_frame_base]"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" if (parenthesized_expression "((uVar44 == uVar45) && (lVar43 == lVar46))" ( (binary_expression "(uVar44 == uVar45) && (lVar43 == lVar46)" (parenthesized_expression "(uVar44 == uVar45)" ( (binary_expression "uVar44 == uVar45" identifier == identifier) )) && (parenthesized_expression "(lVar43 == lVar46)" ( (binary_expression "lVar43 == lVar46" identifier == identifier) ))) )) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start == end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start == end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start == end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start == end)",5)" identifier (argument_list "(0," (start == end)",5)" ( number_literal , (string_literal "" (start == end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" identifier (argument_list "(pcVar14,pFVar35)" ( identifier , identifier ))) ;) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" else (if_statement "if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" if (parenthesized_expression "((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46))))" ( (binary_expression "(uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))" (parenthesized_expression "(uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           )" ( (binary_expression "uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)" (binary_expression "uVar36 < uVar38" identifier < identifier) || (binary_expression "uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)" (binary_expression "uVar36 - uVar38" identifier - identifier) < (call_expression "(uint)((uint)lVar46 < (uint)lVar43)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar46 < (uint)lVar43)" ( (binary_expression "(uint)lVar46 < (uint)lVar43" (cast_expression "(uint)lVar46" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)lVar43" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) || (parenthesized_expression "((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))" ( (parenthesized_expression "(local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46))" ( (binary_expression "local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)" (binary_expression "local_b0 < local_c8" identifier < identifier) || (binary_expression "local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)" (binary_expression "local_b0 - local_c8 < (uint)(local_bc < local_dc)" (binary_expression "local_b0 - local_c8" identifier - identifier) < (call_expression "(uint)(local_bc < local_dc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc < local_dc)" ( (binary_expression "local_bc < local_dc" identifier < identifier) )))) && (parenthesized_expression "(lVar43 == lVar46)" ( (binary_expression "lVar43 == lVar46" identifier == identifier) )))) )) ))) )) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" { (expression_statement "pcVar14 = (char *)dcgettext(0," (start > end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start > end)",5)" identifier = (cast_expression "(char *)dcgettext(0," (start > end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (start > end)",5)" identifier (argument_list "(0," (start > end)",5)" ( number_literal , (string_literal "" (start > end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" identifier (argument_list "(pcVar14,pFVar35)" ( identifier , identifier ))) ;) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" identifier = (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })))) (expression_statement "putc(10,pFVar35);" (call_expression "putc(10,pFVar35)" identifier (argument_list "(10,pFVar35)" ( number_literal , identifier ))) ;) (expression_statement "local_28 = (int)uVar47 + iVar32;" (assignment_expression "local_28 = (int)uVar47 + iVar32" identifier = (binary_expression "(int)uVar47 + iVar32" (cast_expression "(int)uVar47" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "uVar45 = 0xffffffffffffffff;" (assignment_expression "uVar45 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "uVar44 = 0xffffffffffffffff;" (assignment_expression "uVar44 = 0xffffffffffffffff" identifier = number_literal) ;) }))) (expression_statement "uVar38 = (local_28 - uVar39) + local_10c;" (assignment_expression "uVar38 = (local_28 - uVar39) + local_10c" identifier = (binary_expression "(local_28 - uVar39) + local_10c" (parenthesized_expression "(local_28 - uVar39)" ( (binary_expression "local_28 - uVar39" identifier - identifier) )) + identifier)) ;) })) (expression_statement "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" identifier = (call_expression "dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" identifier (argument_list "(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (labeled_statement "LAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }" statement_identifier : (if_statement "if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }" if (parenthesized_expression "((uVar44 & uVar45) != 0xffffffffffffffff)" ( (binary_expression "(uVar44 & uVar45) != 0xffffffffffffffff" (parenthesized_expression "(uVar44 & uVar45)" ( (binary_expression "uVar44 & uVar45" identifier & identifier) )) != number_literal) )) (compound_statement "{\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }" { (expression_statement "pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5)" identifier = (cast_expression "(char *)dcgettext(0,"Trailing view pair not used in a range",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Trailing view pair not used in a range",5)" identifier (argument_list "(0,"Trailing view pair not used in a range",5)" ( number_literal , (string_literal ""Trailing view pair not used in a range"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }))) (expression_statement "local_24 = local_f4;" (assignment_expression "local_24 = local_f4" identifier = identifier) ;) }) (else_clause "else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" else (compound_statement "{\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" { (expression_statement "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier = (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" identifier (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" ( number_literal , (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,iVar16,local_8c);" (call_expression "warn(uVar15,iVar16,local_8c)" identifier (argument_list "(uVar15,iVar16,local_8c)" ( identifier , identifier , identifier ))) ;) }))) }) (else_clause "else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" else (compound_statement "{\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" { (expression_statement "uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"DWO is not yet supported.\n",5)" identifier = (call_expression "dcgettext(0,"DWO is not yet supported.\n",5)" identifier (argument_list "(0,"DWO is not yet supported.\n",5)" ( number_literal , (string_literal ""DWO is not yet supported.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15);" (call_expression "warn(uVar15)" identifier (argument_list "(uVar15)" ( identifier ))) ;) }))))) (goto_statement "goto LAB_000637dc;" goto statement_identifier ;) })) (if_statement "if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }" if (parenthesized_expression "(local_f0 == 0)" ( (binary_expression "local_f0 == 0" identifier == number_literal) )) (compound_statement "{\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }" { (expression_statement "local_108 = puVar3[1];" (assignment_expression "local_108 = puVar3[1]" identifier = (subscript_expression "puVar3[1]" identifier [ number_literal ])) ;) (expression_statement "local_10c = *puVar3;" (assignment_expression "local_10c = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "uVar38 = *puVar20;" (assignment_expression "uVar38 = *puVar20" identifier = (pointer_expression "*puVar20" * identifier)) ;) (expression_statement "local_f4 = puVar20[1];" (assignment_expression "local_f4 = puVar20[1]" identifier = (subscript_expression "puVar20[1]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000635f2;" goto statement_identifier ;) })) (expression_statement "local_ec = local_f0;" (assignment_expression "local_ec = local_f0" identifier = identifier) ;) (expression_statement "local_10c = puVar3[local_f0 * 2];" (assignment_expression "local_10c = puVar3[local_f0 * 2]" identifier = (subscript_expression "puVar3[local_f0 * 2]" identifier [ (binary_expression "local_f0 * 2" identifier * number_literal) ])) ;) (expression_statement "local_e8 = local_f0 * 8 + -8;" (assignment_expression "local_e8 = local_f0 * 8 + -8" identifier = (binary_expression "local_f0 * 8 + -8" (binary_expression "local_f0 * 8" identifier * number_literal) + number_literal)) ;) (expression_statement "local_108 = puVar3[local_f0 * 2 + 1];" (assignment_expression "local_108 = puVar3[local_f0 * 2 + 1]" identifier = (subscript_expression "puVar3[local_f0 * 2 + 1]" identifier [ (binary_expression "local_f0 * 2 + 1" (binary_expression "local_f0 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "local_f4 = puVar20[local_f0 * 2 + 1];" (assignment_expression "local_f4 = puVar20[local_f0 * 2 + 1]" identifier = (subscript_expression "puVar20[local_f0 * 2 + 1]" identifier [ (binary_expression "local_f0 * 2 + 1" (binary_expression "local_f0 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "uVar38 = puVar20[local_f0 * 2];" (assignment_expression "uVar38 = puVar20[local_f0 * 2]" identifier = (subscript_expression "puVar20[local_f0 * 2]" identifier [ (binary_expression "local_f0 * 2" identifier * number_literal) ])) ;) (labeled_statement "LAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }" statement_identifier : (if_statement "if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }" if (parenthesized_expression "((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8)))" ( (binary_expression "(local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))" (parenthesized_expression "(local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4))" ( (binary_expression "local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)" (binary_expression "local_10c != *(uint *)((int)puVar3 + local_e8)" identifier != (pointer_expression "*(uint *)((int)puVar3 + local_e8)" * (cast_expression "(uint *)((int)puVar3 + local_e8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + local_e8)" ( (binary_expression "(int)puVar3 + local_e8" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) || (binary_expression "local_108 != *(uint *)((int)puVar3 + local_e8 + 4)" identifier != (pointer_expression "*(uint *)((int)puVar3 + local_e8 + 4)" * (cast_expression "(uint *)((int)puVar3 + local_e8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + local_e8 + 4)" ( (binary_expression "(int)puVar3 + local_e8 + 4" (binary_expression "(int)puVar3 + local_e8" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))))) )) || (parenthesized_expression "(local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))" ( (binary_expression "local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8)" (binary_expression "local_f4 != *(uint *)((int)puVar20 + local_e8 + 4)" identifier != (pointer_expression "*(uint *)((int)puVar20 + local_e8 + 4)" * (cast_expression "(uint *)((int)puVar20 + local_e8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + local_e8 + 4)" ( (binary_expression "(int)puVar20 + local_e8 + 4" (binary_expression "(int)puVar20 + local_e8" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) || (binary_expression "uVar38 != *(uint *)((int)puVar20 + local_e8)" identifier != (pointer_expression "*(uint *)((int)puVar20 + local_e8)" * (cast_expression "(uint *)((int)puVar20 + local_e8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + local_e8)" ( (binary_expression "(int)puVar20 + local_e8" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))))) ))) )) (compound_statement "{\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }" { (expression_statement "iVar16 = local_ec << 2;" (assignment_expression "iVar16 = local_ec << 2" identifier = (binary_expression "local_ec << 2" identifier << number_literal)) ;) (goto_statement "goto LAB_000635f2;" goto statement_identifier ;) }))) (goto_statement "goto LAB_0006373a;" goto statement_identifier ;) })) (labeled_statement "LAB_00063fc0:\n      local_8c = local_8c + 1;" statement_identifier : (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" identifier = (binary_expression "local_8c + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_8c < DAT_000b9d6c)" ( (binary_expression "local_8c < DAT_000b9d6c" identifier < identifier) )) ;) })) (expression_statement "uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);" (assignment_expression "uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" identifier = (binary_expression "*(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" (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) )))) + (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }" if (parenthesized_expression "(local_28 < uVar19)" ( (binary_expression "local_28 < uVar19" identifier < identifier) )) (compound_statement "{\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }" { (expression_statement "iVar31 = uVar19 - local_28;" (assignment_expression "iVar31 = uVar19 - local_28" identifier = (binary_expression "uVar19 - local_28" identifier - identifier)) ;) (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);" (assignment_expression "uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5)" identifier = (call_expression "dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5)" identifier (argument_list "(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5)" ( number_literal , (string_literal ""There is %ld unused byte at the end of section %s\n"" " string_content escape_sequence ") , (string_literal ""There are %ld unused bytes at the end of section %s\n"" " string_content escape_sequence ") , identifier , number_literal )))) ;) (expression_statement "warn(uVar13,iVar31,uVar15);" (call_expression "warn(uVar13,iVar31,uVar15)" identifier (argument_list "(uVar13,iVar31,uVar15)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" identifier (argument_list "(10,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "free(local_5c);" (call_expression "free(local_5c)" identifier (argument_list "(local_5c)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) (labeled_statement "LAB_00064ec7:\n  local_28 = uVar37;" statement_identifier : (expression_statement "local_28 = uVar37;" (assignment_expression "local_28 = uVar37" identifier = identifier) ;)) (expression_statement "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" identifier = (call_expression "dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" identifier (argument_list "(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" ( number_literal , (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" identifier (argument_list "(uVar15,local_10c)" ( identifier , identifier ))) ;) (labeled_statement "code_r0x00064ee9:\n  local_24 = local_104;" statement_identifier : (expression_statement "local_24 = local_104;" (assignment_expression "local_24 = local_104" identifier = identifier) ;)) (labeled_statement "LAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" statement_identifier : (if_statement "if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" if (parenthesized_expression "((bVar5) && (bVar6))" ( (binary_expression "(bVar5) && (bVar6)" (parenthesized_expression "(bVar5)" ( identifier )) && (parenthesized_expression "(bVar6)" ( identifier ))) )) (compound_statement "{\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" { (if_statement "if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }" if (parenthesized_expression "(local_28 == local_ec)" ( (binary_expression "local_28 == local_ec" identifier == identifier) )) (compound_statement "{\n      bVar5 = true;\n    }" { (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) }) (else_clause "else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }" else (compound_statement "{\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }" { (if_statement "if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }" if (parenthesized_expression "(uVar39 == local_24)" ( (binary_expression "uVar39 == local_24" identifier == identifier) )) (compound_statement "{\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }" { (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) (goto_statement "goto LAB_0006373a;" goto statement_identifier ;) })) (expression_statement "uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);" (assignment_expression "uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5)" identifier = (call_expression "dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5)" identifier (argument_list "(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5)" ( number_literal , (string_literal ""Hole and overlap detection requires adjacent view lists and loclists.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15);" (call_expression "warn(uVar15)" identifier (argument_list "(uVar15)" ( identifier ))) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (labeled_statement "LAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;" statement_identifier : (if_statement "if (local_28 != local_ec) goto LAB_00063844;" if (parenthesized_expression "(local_28 != local_ec)" ( (binary_expression "local_28 != local_ec" identifier != identifier) )) (goto_statement "goto LAB_00063844;" goto statement_identifier ;))) }))) (expression_statement "FUN_000520e0(local_24);" (call_expression "FUN_000520e0(local_24)" identifier (argument_list "(local_24)" ( identifier ))) ;) (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) }) (else_clause "else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" else (compound_statement "{\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" { (if_statement "if (local_ec != 0) goto LAB_00063833;" if (parenthesized_expression "(local_ec != 0)" ( (binary_expression "local_ec != 0" identifier != number_literal) )) (goto_statement "goto LAB_00063833;" goto statement_identifier ;)) (labeled_statement "LAB_00063844:\n    local_fc = DAT_000b9d64;" statement_identifier : (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" identifier = identifier) ;)) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) })))) (labeled_statement "LAB_0006373a:\n  iVar34 = local_fc + iVar31;" statement_identifier : (expression_statement "iVar34 = local_fc + iVar31;" (assignment_expression "iVar34 = local_fc + iVar31" identifier = (binary_expression "local_fc + iVar31" identifier + identifier)) ;)) (expression_statement "local_f0 = local_f0 + 1;" (assignment_expression "local_f0 = local_f0 + 1" identifier = (binary_expression "local_f0 + 1" identifier + number_literal)) ;) (if_statement "if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;" if (parenthesized_expression "(*(uint *)(iVar34 + 0x38) <= local_f0)" ( (binary_expression "*(uint *)(iVar34 + 0x38) <= local_f0" (pointer_expression "*(uint *)(iVar34 + 0x38)" * (cast_expression "(uint *)(iVar34 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x38)" ( (binary_expression "iVar34 + 0x38" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00063fc0;" goto statement_identifier ;)) (goto_statement "goto LAB_00063757;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (pointer_declarator * 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 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 (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 = 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )))) ;) })) (expression_statement (assignment_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 { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (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 (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) })) (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 IDENT - 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 )))) ;)) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - 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 )))) ;) (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (binary_expression IDENT - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression (binary_expression IDENT - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;)) (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 = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( IDENT ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (unary_expression ! IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) <= IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == IDENT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression IDENT * LIT)) )))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) <= IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto 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 ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT != (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ])) || (binary_expression IDENT != (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT != (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ])) || (binary_expression IDENT != (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ))) )) (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 ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( 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 ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (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) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT * LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT * LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) << LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT < IDENT) && (binary_expression IDENT != LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( IDENT ))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT && IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT - IDENT) , IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (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 IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression LIT << IDENT) | (binary_expression LIT >> (binary_expression LIT - IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (unary_expression ~ IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression ~ IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - LIT))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - LIT) < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (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)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) , (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) )))) , (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 ))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == IDENT) && (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == IDENT)) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) != IDENT) || (binary_expression (parenthesized_expression ( (binary_expression IDENT & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) != IDENT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 ))) ;) }) (else_clause else (compound_statement { (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) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) == IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (break_statement break ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) == IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT <= (binary_expression IDENT + LIT)) && (unary_expression ! IDENT)) )) (break_statement break ;)) }))) (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 = (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 = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (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 ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) && (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 ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) })))) (expression_statement (call_expression IDENT (argument_list ( LIT , 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 ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) }) (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 ))) ;) }))) }) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - LIT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto 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) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) , LIT , (pointer_expression & IDENT) ))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , (pointer_expression & 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 ))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 )))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression (binary_expression IDENT - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (labeled_statement statement_identifier : (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 = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (expression_statement (assignment_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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT - IDENT) , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement default : (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) }) while (parenthesized_expression ( BOOL )) ;)) })) (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 = (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 ))) ;) }))))) }) (else_clause else (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 = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT <= IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (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 ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (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 { (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 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 = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 IDENT - IDENT)) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - LIT) < LIT)) ))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (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 = (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 ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) , LIT , (pointer_expression & IDENT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (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 = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (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 ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) && (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 ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) })))) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + 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 ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (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 ))) ;) }))) }) (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 ))) ;) }))))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT * LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT * LIT) ])) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))))) || (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))))) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) || (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (goto_statement goto statement_identifier ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , (string_literal " string_content escape_sequence ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = 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 ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( IDENT ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (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 = BOOL) ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 FUN_00063020(int param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint *puVar3;\n  uint uVar4;\n  bool bVar5;\n  bool bVar6;\n  undefined *puVar7;\n  byte bVar8;\n  bool bVar9;\n  ushort uVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  uint *puVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  int iVar28;\n  size_t __nmemb;\n  undefined4 uVar29;\n  byte bVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  int iVar34;\n  FILE *pFVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  uint uVar39;\n  byte *pbVar40;\n  bool bVar41;\n  bool bVar42;\n  longlong lVar43;\n  ulonglong uVar44;\n  ulonglong uVar45;\n  longlong lVar46;\n  undefined8 uVar47;\n  ulonglong uVar48;\n  uint local_10c;\n  uint local_108;\n  uint local_104;\n  uint local_100;\n  int local_fc;\n  uint local_f4;\n  uint local_f0;\n  uint local_ec;\n  int local_e8;\n  int *local_e4;\n  int *local_dc;\n  uint local_d8;\n  int local_d4;\n  int local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_8c;\n  uint local_7c;\n  uint local_68;\n  void *local_5c;\n  uint local_28;\n  uint local_24;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar8 = 0;\n  uStack_14 = 0x63029;\n  uVar19 = *(uint *)(param_1 + 0x10);\n  pcVar12 = *(char **)(param_1 + 8);\n  pbVar11 = (byte *)strrchr(pcVar12,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar11 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  uVar2 = *(uint *)(param_1 + 0x1c);\n  if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }\n  pcVar12 = strstr(pcVar12,"debug_loclists");\n  if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }\n  local_d4 = 0;\n  local_d0 = 0;\nLAB_0006322d:\n  iVar31 = FUN_00062460();\n  if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }\n  if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }\n  uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(uVar15);\nLAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;\n  if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }\n  local_5c = (void *)0x0;\n  if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }\n  FUN_0004eb80();\n  iVar31 = FUN_00045000(param_1,0,0);\n  if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar14);\n  puVar7 = PTR_stdout_000b3fd8;\n  local_28 = uVar19;\n  if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }\n  uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n  if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }\n  putc(10,*(FILE **)puVar7);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  local_28 = uVar37;\n  uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n  warn(uVar15,local_10c);\ncode_r0x00064ee9:\n  local_24 = local_104;\nLAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\nLAB_0006373a:\n  iVar34 = local_fc + iVar31;\n  local_f0 = local_f0 + 1;\n  if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}" (type_identifier "undefined4") (function_declarator "FUN_00063020(int param_1)" (identifier "FUN_00063020") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint *puVar3;\n  uint uVar4;\n  bool bVar5;\n  bool bVar6;\n  undefined *puVar7;\n  byte bVar8;\n  bool bVar9;\n  ushort uVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  uint *puVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  int iVar28;\n  size_t __nmemb;\n  undefined4 uVar29;\n  byte bVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  int iVar34;\n  FILE *pFVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  uint uVar39;\n  byte *pbVar40;\n  bool bVar41;\n  bool bVar42;\n  longlong lVar43;\n  ulonglong uVar44;\n  ulonglong uVar45;\n  longlong lVar46;\n  undefined8 uVar47;\n  ulonglong uVar48;\n  uint local_10c;\n  uint local_108;\n  uint local_104;\n  uint local_100;\n  int local_fc;\n  uint local_f4;\n  uint local_f0;\n  uint local_ec;\n  int local_e8;\n  int *local_e4;\n  int *local_dc;\n  uint local_d8;\n  int local_d4;\n  int local_d0;\n  int local_cc;\n  uint local_c8;\n  uint local_bc;\n  uint local_b0;\n  uint local_ac;\n  uint local_a4;\n  uint local_8c;\n  uint local_7c;\n  uint local_68;\n  void *local_5c;\n  uint local_28;\n  uint local_24;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar8 = 0;\n  uStack_14 = 0x63029;\n  uVar19 = *(uint *)(param_1 + 0x10);\n  pcVar12 = *(char **)(param_1 + 8);\n  pbVar11 = (byte *)strrchr(pcVar12,0x2e);\n  local_68 = 0;\n  bVar41 = false;\n  bVar42 = pbVar11 == (byte *)0x0;\n  if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }\n  uVar2 = *(uint *)(param_1 + 0x1c);\n  if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }\n  pcVar12 = strstr(pcVar12,"debug_loclists");\n  if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }\n  local_d4 = 0;\n  local_d0 = 0;\nLAB_0006322d:\n  iVar31 = FUN_00062460();\n  if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }\n  if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }\n  uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);\n  error(uVar15);\nLAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;\n  if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }\n  local_5c = (void *)0x0;\n  if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }\n  FUN_0004eb80();\n  iVar31 = FUN_00045000(param_1,0,0);\n  if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }\n  pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);\n  printf(pcVar14);\n  puVar7 = PTR_stdout_000b3fd8;\n  local_28 = uVar19;\n  if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }\n  uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n  if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }\n  putc(10,*(FILE **)puVar7);\n  free(local_5c);\n  return 1;\nLAB_00064ec7:\n  local_28 = uVar37;\n  uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n  warn(uVar15,local_10c);\ncode_r0x00064ee9:\n  local_24 = local_104;\nLAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\nLAB_0006373a:\n  iVar34 = local_fc + iVar31;\n  local_f0 = local_f0 + 1;\n  if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;\n  goto LAB_00063757;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint *puVar3;" (type_identifier "uint") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "bool bVar5;" (primitive_type "bool") (identifier "bVar5") (; ";")) (declaration "bool bVar6;" (primitive_type "bool") (identifier "bVar6") (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "byte bVar8;" (type_identifier "byte") (identifier "bVar8") (; ";")) (declaration "bool bVar9;" (primitive_type "bool") (identifier "bVar9") (; ";")) (declaration "ushort uVar10;" (type_identifier "ushort") (identifier "uVar10") (; ";")) (declaration "byte *pbVar11;" (type_identifier "byte") (pointer_declarator "*pbVar11" (* "*") (identifier "pbVar11")) (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int *piVar17;" (primitive_type "int") (pointer_declarator "*piVar17" (* "*") (identifier "piVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "uint *puVar20;" (type_identifier "uint") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "int iVar24;" (primitive_type "int") (identifier "iVar24") (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "uint uVar27;" (type_identifier "uint") (identifier "uVar27") (; ";")) (declaration "int iVar28;" (primitive_type "int") (identifier "iVar28") (; ";")) (declaration "size_t __nmemb;" (primitive_type "size_t") (identifier "__nmemb") (; ";")) (declaration "undefined4 uVar29;" (type_identifier "undefined4") (identifier "uVar29") (; ";")) (declaration "byte bVar30;" (type_identifier "byte") (identifier "bVar30") (; ";")) (declaration "int iVar31;" (primitive_type "int") (identifier "iVar31") (; ";")) (declaration "int iVar32;" (primitive_type "int") (identifier "iVar32") (; ";")) (declaration "uint uVar33;" (type_identifier "uint") (identifier "uVar33") (; ";")) (declaration "int iVar34;" (primitive_type "int") (identifier "iVar34") (; ";")) (declaration "FILE *pFVar35;" (type_identifier "FILE") (pointer_declarator "*pFVar35" (* "*") (identifier "pFVar35")) (; ";")) (declaration "uint uVar36;" (type_identifier "uint") (identifier "uVar36") (; ";")) (declaration "uint uVar37;" (type_identifier "uint") (identifier "uVar37") (; ";")) (declaration "uint uVar38;" (type_identifier "uint") (identifier "uVar38") (; ";")) (declaration "uint uVar39;" (type_identifier "uint") (identifier "uVar39") (; ";")) (declaration "byte *pbVar40;" (type_identifier "byte") (pointer_declarator "*pbVar40" (* "*") (identifier "pbVar40")) (; ";")) (declaration "bool bVar41;" (primitive_type "bool") (identifier "bVar41") (; ";")) (declaration "bool bVar42;" (primitive_type "bool") (identifier "bVar42") (; ";")) (declaration "longlong lVar43;" (type_identifier "longlong") (identifier "lVar43") (; ";")) (declaration "ulonglong uVar44;" (type_identifier "ulonglong") (identifier "uVar44") (; ";")) (declaration "ulonglong uVar45;" (type_identifier "ulonglong") (identifier "uVar45") (; ";")) (declaration "longlong lVar46;" (type_identifier "longlong") (identifier "lVar46") (; ";")) (declaration "undefined8 uVar47;" (type_identifier "undefined8") (identifier "uVar47") (; ";")) (declaration "ulonglong uVar48;" (type_identifier "ulonglong") (identifier "uVar48") (; ";")) (declaration "uint local_10c;" (type_identifier "uint") (identifier "local_10c") (; ";")) (declaration "uint local_108;" (type_identifier "uint") (identifier "local_108") (; ";")) (declaration "uint local_104;" (type_identifier "uint") (identifier "local_104") (; ";")) (declaration "uint local_100;" (type_identifier "uint") (identifier "local_100") (; ";")) (declaration "int local_fc;" (primitive_type "int") (identifier "local_fc") (; ";")) (declaration "uint local_f4;" (type_identifier "uint") (identifier "local_f4") (; ";")) (declaration "uint local_f0;" (type_identifier "uint") (identifier "local_f0") (; ";")) (declaration "uint local_ec;" (type_identifier "uint") (identifier "local_ec") (; ";")) (declaration "int local_e8;" (primitive_type "int") (identifier "local_e8") (; ";")) (declaration "int *local_e4;" (primitive_type "int") (pointer_declarator "*local_e4" (* "*") (identifier "local_e4")) (; ";")) (declaration "int *local_dc;" (primitive_type "int") (pointer_declarator "*local_dc" (* "*") (identifier "local_dc")) (; ";")) (declaration "uint local_d8;" (type_identifier "uint") (identifier "local_d8") (; ";")) (declaration "int local_d4;" (primitive_type "int") (identifier "local_d4") (; ";")) (declaration "int local_d0;" (primitive_type "int") (identifier "local_d0") (; ";")) (declaration "int local_cc;" (primitive_type "int") (identifier "local_cc") (; ";")) (declaration "uint local_c8;" (type_identifier "uint") (identifier "local_c8") (; ";")) (declaration "uint local_bc;" (type_identifier "uint") (identifier "local_bc") (; ";")) (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_8c;" (type_identifier "uint") (identifier "local_8c") (; ";")) (declaration "uint local_7c;" (type_identifier "uint") (identifier "local_7c") (; ";")) (declaration "uint local_68;" (type_identifier "uint") (identifier "local_68") (; ";")) (declaration "void *local_5c;" (primitive_type "void") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (declaration "uint local_24;" (type_identifier "uint") (identifier "local_24") (; ";")) (declaration "int local_20 [3];" (primitive_type "int") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar8 = 0;" (assignment_expression "bVar8 = 0" (identifier "bVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x63029;" (assignment_expression "uStack_14 = 0x63029" (identifier "uStack_14") (= "=") (number_literal "0x63029")) (; ";")) (expression_statement "uVar19 = *(uint *)(param_1 + 0x10);" (assignment_expression "uVar19 = *(uint *)(param_1 + 0x10)" (identifier "uVar19") (= "=") (pointer_expression "*(uint *)(param_1 + 0x10)" (* "*") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "pcVar12 = *(char **)(param_1 + 8);" (assignment_expression "pcVar12 = *(char **)(param_1 + 8)" (identifier "pcVar12") (= "=") (pointer_expression "*(char **)(param_1 + 8)" (* "*") (cast_expression "(char **)(param_1 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pbVar11 = (byte *)strrchr(pcVar12,0x2e);" (assignment_expression "pbVar11 = (byte *)strrchr(pcVar12,0x2e)" (identifier "pbVar11") (= "=") (cast_expression "(byte *)strrchr(pcVar12,0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strrchr(pcVar12,0x2e)" (identifier "strrchr") (argument_list "(pcVar12,0x2e)" (( "(") (identifier "pcVar12") (, ",") (number_literal "0x2e") () ")"))))) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar41 = false;" (assignment_expression "bVar41 = false" (identifier "bVar41") (= "=") (false "false")) (; ";")) (expression_statement "bVar42 = pbVar11 == (byte *)0x0;" (assignment_expression "bVar42 = pbVar11 == (byte *)0x0" (identifier "bVar42") (= "=") (binary_expression "pbVar11 == (byte *)0x0" (identifier "pbVar11") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (!bVar42) {\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }" (if "if") (parenthesized_expression "(!bVar42)" (( "(") (unary_expression "!bVar42" (! "!") (identifier "bVar42")) () ")")) (compound_statement "{\n    iVar31 = 5;\n    pbVar40 = (byte *)0x9432f;\n    do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);\n    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);\n  }" ({ "{") (expression_statement "iVar31 = 5;" (assignment_expression "iVar31 = 5" (identifier "iVar31") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar40 = (byte *)0x9432f;" (assignment_expression "pbVar40 = (byte *)0x9432f" (identifier "pbVar40") (= "=") (cast_expression "(byte *)0x9432f" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x9432f"))) (; ";")) (do_statement "do {\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    } while (bVar42);" (do "do") (compound_statement "{\n      if (iVar31 == 0) break;\n      iVar31 = iVar31 + -1;\n      bVar41 = *pbVar11 < *pbVar40;\n      bVar42 = *pbVar11 == *pbVar40;\n      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;\n      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar31 == 0) break;" (if "if") (parenthesized_expression "(iVar31 == 0)" (( "(") (binary_expression "iVar31 == 0" (identifier "iVar31") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar31 = iVar31 + -1;" (assignment_expression "iVar31 = iVar31 + -1" (identifier "iVar31") (= "=") (binary_expression "iVar31 + -1" (identifier "iVar31") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar41 = *pbVar11 < *pbVar40;" (assignment_expression "bVar41 = *pbVar11 < *pbVar40" (identifier "bVar41") (= "=") (binary_expression "*pbVar11 < *pbVar40" (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")) (< "<") (pointer_expression "*pbVar40" (* "*") (identifier "pbVar40")))) (; ";")) (expression_statement "bVar42 = *pbVar11 == *pbVar40;" (assignment_expression "bVar42 = *pbVar11 == *pbVar40" (identifier "bVar42") (= "=") (binary_expression "*pbVar11 == *pbVar40" (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")) (== "==") (pointer_expression "*pbVar40" (* "*") (identifier "pbVar40")))) (; ";")) (expression_statement "pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1" (identifier "pbVar11") (= "=") (binary_expression "pbVar11 + (uint)bVar8 * -2 + 1" (binary_expression "pbVar11 + (uint)bVar8 * -2" (identifier "pbVar11") (+ "+") (binary_expression "(uint)bVar8 * -2" (cast_expression "(uint)bVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar8")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;" (assignment_expression "pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1" (identifier "pbVar40") (= "=") (binary_expression "pbVar40 + (uint)bVar8 * -2 + 1" (binary_expression "pbVar40 + (uint)bVar8 * -2" (identifier "pbVar40") (+ "+") (binary_expression "(uint)bVar8 * -2" (cast_expression "(uint)bVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar8")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar42)" (( "(") (identifier "bVar42") () ")")) (; ";")) (expression_statement "local_68 = (uint)((!bVar41 && !bVar42) == bVar41);" (assignment_expression "local_68 = (uint)((!bVar41 && !bVar42) == bVar41)" (identifier "local_68") (= "=") (call_expression "(uint)((!bVar41 && !bVar42) == bVar41)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((!bVar41 && !bVar42) == bVar41)" (( "(") (binary_expression "(!bVar41 && !bVar42) == bVar41" (parenthesized_expression "(!bVar41 && !bVar42)" (( "(") (binary_expression "!bVar41 && !bVar42" (unary_expression "!bVar41" (! "!") (identifier "bVar41")) (&& "&&") (unary_expression "!bVar42" (! "!") (identifier "bVar42"))) () ")")) (== "==") (identifier "bVar41")) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar2 = *(uint *)(param_1 + 0x1c);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x1c)" (identifier "uVar2") (= "=") (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")) () ")"))))) (; ";")) (if_statement "if (uVar2 == 0) {\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }" (if "if") (parenthesized_expression "(uVar2 == 0)" (( "(") (binary_expression "uVar2 == 0" (identifier "uVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);\n    printf(pcVar14,pcVar12);\n    return 0;\n  }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"\nThe %s section is empty.\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"\nThe %s section is empty.\n",5)" (identifier "dcgettext") (argument_list "(0,"\nThe %s section is empty.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nThe %s section is empty.\n"" (" """) (escape_sequence "\n") (string_content "The %s section is empty.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14,pcVar12);" (call_expression "printf(pcVar14,pcVar12)" (identifier "printf") (argument_list "(pcVar14,pcVar12)" (( "(") (identifier "pcVar14") (, ",") (identifier "pcVar12") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "pcVar12 = strstr(pcVar12,"debug_loclists");" (assignment_expression "pcVar12 = strstr(pcVar12,"debug_loclists")" (identifier "pcVar12") (= "=") (call_expression "strstr(pcVar12,"debug_loclists")" (identifier "strstr") (argument_list "(pcVar12,"debug_loclists")" (( "(") (identifier "pcVar12") (, ",") (string_literal ""debug_loclists"" (" """) (string_content "debug_loclists") (" """)) () ")")))) (; ";")) (if_statement "if (pcVar12 != (char *)0x0) {\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }" (if "if") (parenthesized_expression "(pcVar12 != (char *)0x0)" (( "(") (binary_expression "pcVar12 != (char *)0x0" (identifier "pcVar12") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar38 = uVar19 + 4;\n    uVar37 = uVar19 + uVar2;\n    uVar39 = uVar38;\n    if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";\nLAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);\n    warn(uVar13,uVar15,uVar38);\n    return 0;\n  }" ({ "{") (expression_statement "uVar38 = uVar19 + 4;" (assignment_expression "uVar38 = uVar19 + 4" (identifier "uVar38") (= "=") (binary_expression "uVar19 + 4" (identifier "uVar19") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar37 = uVar19 + uVar2;" (assignment_expression "uVar37 = uVar19 + uVar2" (identifier "uVar37") (= "=") (binary_expression "uVar19 + uVar2" (identifier "uVar19") (+ "+") (identifier "uVar2"))) (; ";")) (expression_statement "uVar39 = uVar38;" (assignment_expression "uVar39 = uVar38" (identifier "uVar39") (= "=") (identifier "uVar38")) (; ";")) (if_statement "if (uVar38 < uVar37) {\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }\n    else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }" (if "if") (parenthesized_expression "(uVar38 < uVar37)" (( "(") (binary_expression "uVar38 < uVar37" (identifier "uVar38") (< "<") (identifier "uVar37")) () ")")) (compound_statement "{\n      uVar36 = 4;\nLAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);\n      if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;\nLAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);\n      if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }\n      uVar38 = (uint)uVar10;\n    }" ({ "{") (expression_statement "uVar36 = 4;" (assignment_expression "uVar36 = 4" (identifier "uVar36") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_000630f8:\n      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);" (statement_identifier "LAB_000630f8") (: ":") (expression_statement "lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);" (assignment_expression "lVar43 = (*DAT_000b9dd8)(uVar19,uVar36)" (identifier "lVar43") (= "=") (call_expression "(*DAT_000b9dd8)(uVar19,uVar36)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar19,uVar36)" (( "(") (identifier "uVar19") (, ",") (identifier "uVar36") () ")")))) (; ";"))) (if_statement "if (lVar43 == 0xffffffff) {\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }" (if "if") (parenthesized_expression "(lVar43 == 0xffffffff)" (( "(") (binary_expression "lVar43 == 0xffffffff" (identifier "lVar43") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        uVar39 = uVar19 + 0xc;\n        if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }\n        (*DAT_000b9dd8)(uVar38,iVar31);\n      }" ({ "{") (expression_statement "uVar39 = uVar19 + 0xc;" (assignment_expression "uVar39 = uVar19 + 0xc" (identifier "uVar39") (= "=") (binary_expression "uVar19 + 0xc" (identifier "uVar19") (+ "+") (number_literal "0xc"))) (; ";")) (if_statement "if (uVar39 < uVar37) {\n          iVar31 = 8;\n        }\n        else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }" (if "if") (parenthesized_expression "(uVar39 < uVar37)" (( "(") (binary_expression "uVar39 < uVar37" (identifier "uVar39") (< "<") (identifier "uVar37")) () ")")) (compound_statement "{\n          iVar31 = 8;\n        }" ({ "{") (expression_statement "iVar31 = 8;" (assignment_expression "iVar31 = 8" (identifier "iVar31") (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else {\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }" (else "else") (compound_statement "{\n          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;\n          iVar31 = uVar2 - 4;\n        }" ({ "{") (if_statement "if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;" (if "if") (parenthesized_expression "((uVar37 <= uVar38) || (7 < uVar2 - 5))" (( "(") (binary_expression "(uVar37 <= uVar38) || (7 < uVar2 - 5)" (parenthesized_expression "(uVar37 <= uVar38)" (( "(") (binary_expression "uVar37 <= uVar38" (identifier "uVar37") (<= "<=") (identifier "uVar38")) () ")")) (|| "||") (parenthesized_expression "(7 < uVar2 - 5)" (( "(") (binary_expression "7 < uVar2 - 5" (number_literal "7") (< "<") (binary_expression "uVar2 - 5" (identifier "uVar2") (- "-") (number_literal "5"))) () ")"))) () ")")) (goto_statement "goto LAB_00063148;" (goto "goto") (statement_identifier "LAB_00063148") (; ";"))) (expression_statement "iVar31 = uVar2 - 4;" (assignment_expression "iVar31 = uVar2 - 4" (identifier "iVar31") (= "=") (binary_expression "uVar2 - 4" (identifier "uVar2") (- "-") (number_literal "4"))) (; ";")) (} "}")))) (expression_statement "(*DAT_000b9dd8)(uVar38,iVar31);" (call_expression "(*DAT_000b9dd8)(uVar38,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar38,iVar31)" (( "(") (identifier "uVar38") (, ",") (identifier "iVar31") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar38 = uVar39 + 2;" (assignment_expression "uVar38 = uVar39 + 2" (identifier "uVar38") (= "=") (binary_expression "uVar39 + 2" (identifier "uVar39") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (uVar38 < uVar37) {\n        iVar31 = 2;\n      }\n      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;" (if "if") (parenthesized_expression "(uVar38 < uVar37)" (( "(") (binary_expression "uVar38 < uVar37" (identifier "uVar38") (< "<") (identifier "uVar37")) () ")")) (compound_statement "{\n        iVar31 = 2;\n      }" ({ "{") (expression_statement "iVar31 = 2;" (assignment_expression "iVar31 = 2" (identifier "iVar31") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;" (else "else") (if_statement "if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;" (if "if") (parenthesized_expression "((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U))" (( "(") (binary_expression "(uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)" (parenthesized_expression "(uVar37 <= uVar39)" (( "(") (binary_expression "uVar37 <= uVar39" (identifier "uVar37") (<= "<=") (identifier "uVar39")) () ")")) (|| "||") (parenthesized_expression "(iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)" (( "(") (comma_expression "iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U" (assignment_expression "iVar31 = uVar37 - uVar39" (identifier "iVar31") (= "=") (binary_expression "uVar37 - uVar39" (identifier "uVar37") (- "-") (identifier "uVar39"))) (, ",") (binary_expression "7 < iVar31 - 1U" (number_literal "7") (< "<") (binary_expression "iVar31 - 1U" (identifier "iVar31") (- "-") (number_literal "1U")))) () ")"))) () ")")) (goto_statement "goto LAB_00063137;" (goto "goto") (statement_identifier "LAB_00063137") (; ";"))))) (labeled_statement "LAB_0006315d:\n      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);" (statement_identifier "LAB_0006315d") (: ":") (expression_statement "uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);" (assignment_expression "uVar10 = (*DAT_000b9dd8)(uVar39,iVar31)" (identifier "uVar10") (= "=") (call_expression "(*DAT_000b9dd8)(uVar39,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar39,iVar31)" (( "(") (identifier "uVar39") (, ",") (identifier "iVar31") () ")")))) (; ";"))) (if_statement "if (uVar10 == 5) {\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }" (if "if") (parenthesized_expression "(uVar10 == 5)" (( "(") (binary_expression "uVar10 == 5" (identifier "uVar10") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n        uVar36 = uVar39 + 3;\n        if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }\nLAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;\n        local_d0 = local_d4 >> 0x1f;\n        goto LAB_0006322d;\n      }" ({ "{") (expression_statement "uVar36 = uVar39 + 3;" (assignment_expression "uVar36 = uVar39 + 3" (identifier "uVar36") (= "=") (binary_expression "uVar39 + 3" (identifier "uVar39") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (uVar36 < uVar37) {\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }\n        else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" (if "if") (parenthesized_expression "(uVar36 < uVar37)" (( "(") (binary_expression "uVar36 < uVar37" (identifier "uVar36") (< "<") (identifier "uVar37")) () ")")) (compound_statement "{\n          iVar31 = 1;\nLAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);\n          if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;\n          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);\n          if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }\n          if (uVar39 + 8 < uVar37) goto LAB_000631fc;\n          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;\n        }" ({ "{") (expression_statement "iVar31 = 1;" (assignment_expression "iVar31 = 1" (identifier "iVar31") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_000631c0:\n          (*DAT_000b9dd8)(uVar38,iVar31);" (statement_identifier "LAB_000631c0") (: ":") (expression_statement "(*DAT_000b9dd8)(uVar38,iVar31);" (call_expression "(*DAT_000b9dd8)(uVar38,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar38,iVar31)" (( "(") (identifier "uVar38") (, ",") (identifier "iVar31") () ")"))) (; ";"))) (if_statement "if (uVar39 + 4 < uVar37) {\nLAB_000633ff:\n            iVar31 = 1;\n          }\n          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;" (if "if") (parenthesized_expression "(uVar39 + 4 < uVar37)" (( "(") (binary_expression "uVar39 + 4 < uVar37" (binary_expression "uVar39 + 4" (identifier "uVar39") (+ "+") (number_literal "4")) (< "<") (identifier "uVar37")) () ")")) (compound_statement "{\nLAB_000633ff:\n            iVar31 = 1;\n          }" ({ "{") (labeled_statement "LAB_000633ff:\n            iVar31 = 1;" (statement_identifier "LAB_000633ff") (: ":") (expression_statement "iVar31 = 1;" (assignment_expression "iVar31 = 1" (identifier "iVar31") (= "=") (number_literal "1")) (; ";"))) (} "}")) (else_clause "else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;" (else "else") (if_statement "if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))\n          goto LAB_000631f5;" (if "if") (parenthesized_expression "((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))" (( "(") (binary_expression "(uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U)" (parenthesized_expression "(uVar37 <= uVar36)" (( "(") (binary_expression "uVar37 <= uVar36" (identifier "uVar37") (<= "<=") (identifier "uVar36")) () ")")) (|| "||") (parenthesized_expression "(iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U)" (( "(") (comma_expression "iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U" (assignment_expression "iVar31 = uVar37 - uVar36" (identifier "iVar31") (= "=") (binary_expression "uVar37 - uVar36" (identifier "uVar37") (- "-") (identifier "uVar36"))) (, ",") (binary_expression "7 < iVar31 - 1U" (number_literal "7") (< "<") (binary_expression "iVar31 - 1U" (identifier "iVar31") (- "-") (number_literal "1U")))) () ")"))) () ")")) (goto_statement "goto LAB_000631f5;" (goto "goto") (statement_identifier "LAB_000631f5") (; ";"))))) (expression_statement "bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);" (assignment_expression "bVar8 = (*DAT_000b9dd8)(uVar36,iVar31)" (identifier "bVar8") (= "=") (call_expression "(*DAT_000b9dd8)(uVar36,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar36,iVar31)" (( "(") (identifier "uVar36") (, ",") (identifier "iVar31") () ")")))) (; ";")) (if_statement "if (bVar8 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }" (if "if") (parenthesized_expression "(bVar8 != 0)" (( "(") (binary_expression "bVar8 != 0" (identifier "bVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);\n            uVar19 = (uint)bVar8;\n            goto LAB_0006500d;\n          }" ({ "{") (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(undefined4 *)(param_1 + 8)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5);" (assignment_expression "uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5)" (identifier "uVar13") (= "=") (call_expression "dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5)" (identifier "dcgettext") (argument_list "(0,"The %s section contains unsupported segment selector size: %d.\n",\n                               5)" (( "(") (number_literal "0") (, ",") (string_literal ""The %s section contains unsupported segment selector size: %d.\n"" (" """) (string_content "The %s section contains unsupported segment selector size: %d.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar19 = (uint)bVar8;" (assignment_expression "uVar19 = (uint)bVar8" (identifier "uVar19") (= "=") (cast_expression "(uint)bVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar8"))) (; ";")) (goto_statement "goto LAB_0006500d;" (goto "goto") (statement_identifier "LAB_0006500d") (; ";")) (} "}"))) (if_statement "if (uVar39 + 8 < uVar37) goto LAB_000631fc;" (if "if") (parenthesized_expression "(uVar39 + 8 < uVar37)" (( "(") (binary_expression "uVar39 + 8 < uVar37" (binary_expression "uVar39 + 8" (identifier "uVar39") (+ "+") (number_literal "8")) (< "<") (identifier "uVar37")) () ")")) (goto_statement "goto LAB_000631fc;" (goto "goto") (statement_identifier "LAB_000631fc") (; ";"))) (if_statement "if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))\n          goto LAB_00063201;" (if "if") (parenthesized_expression "((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))" (( "(") (binary_expression "(uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8)" (parenthesized_expression "(uVar39 + 4 < uVar37)" (( "(") (binary_expression "uVar39 + 4 < uVar37" (binary_expression "uVar39 + 4" (identifier "uVar39") (+ "+") (number_literal "4")) (< "<") (identifier "uVar37")) () ")")) (&& "&&") (parenthesized_expression "(iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8)" (( "(") (comma_expression "iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8" (assignment_expression "iVar31 = uVar37 - (uVar39 + 4)" (identifier "iVar31") (= "=") (binary_expression "uVar37 - (uVar39 + 4)" (identifier "uVar37") (- "-") (parenthesized_expression "(uVar39 + 4)" (( "(") (binary_expression "uVar39 + 4" (identifier "uVar39") (+ "+") (number_literal "4")) () ")")))) (, ",") (binary_expression "iVar31 - 1U < 8" (binary_expression "iVar31 - 1U" (identifier "iVar31") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00063201;" (goto "goto") (statement_identifier "LAB_00063201") (; ";"))) (} "}")) (else_clause "else {\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" (else "else") (compound_statement "{\n          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;\n          if (uVar39 + 4 < uVar37) goto LAB_000633ff;\nLAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;\nLAB_000631fc:\n          iVar31 = 4;\nLAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);\n          if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }\n        }" ({ "{") (if_statement "if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;" (if "if") (parenthesized_expression "((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8))" (( "(") (binary_expression "(uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)" (parenthesized_expression "(uVar38 < uVar37)" (( "(") (binary_expression "uVar38 < uVar37" (identifier "uVar38") (< "<") (identifier "uVar37")) () ")")) (&& "&&") (parenthesized_expression "(iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)" (( "(") (comma_expression "iVar31 = uVar37 - uVar38, iVar31 - 1U < 8" (assignment_expression "iVar31 = uVar37 - uVar38" (identifier "iVar31") (= "=") (binary_expression "uVar37 - uVar38" (identifier "uVar37") (- "-") (identifier "uVar38"))) (, ",") (binary_expression "iVar31 - 1U < 8" (binary_expression "iVar31 - 1U" (identifier "iVar31") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_000631c0;" (goto "goto") (statement_identifier "LAB_000631c0") (; ";"))) (if_statement "if (uVar39 + 4 < uVar37) goto LAB_000633ff;" (if "if") (parenthesized_expression "(uVar39 + 4 < uVar37)" (( "(") (binary_expression "uVar39 + 4 < uVar37" (binary_expression "uVar39 + 4" (identifier "uVar39") (+ "+") (number_literal "4")) (< "<") (identifier "uVar37")) () ")")) (goto_statement "goto LAB_000633ff;" (goto "goto") (statement_identifier "LAB_000633ff") (; ";"))) (labeled_statement "LAB_000631f5:\n          if (uVar37 <= uVar39 + 8) goto LAB_00063219;" (statement_identifier "LAB_000631f5") (: ":") (if_statement "if (uVar37 <= uVar39 + 8) goto LAB_00063219;" (if "if") (parenthesized_expression "(uVar37 <= uVar39 + 8)" (( "(") (binary_expression "uVar37 <= uVar39 + 8" (identifier "uVar37") (<= "<=") (binary_expression "uVar39 + 8" (identifier "uVar39") (+ "+") (number_literal "8"))) () ")")) (goto_statement "goto LAB_00063219;" (goto "goto") (statement_identifier "LAB_00063219") (; ";")))) (labeled_statement "LAB_000631fc:\n          iVar31 = 4;" (statement_identifier "LAB_000631fc") (: ":") (expression_statement "iVar31 = 4;" (assignment_expression "iVar31 = 4" (identifier "iVar31") (= "=") (number_literal "4")) (; ";"))) (labeled_statement "LAB_00063201:\n          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);" (statement_identifier "LAB_00063201") (: ":") (expression_statement "uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);" (assignment_expression "uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31)" (identifier "uVar38") (= "=") (call_expression "(*DAT_000b9dd8)(uVar39 + 4,iVar31)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar39 + 4,iVar31)" (( "(") (binary_expression "uVar39 + 4" (identifier "uVar39") (+ "+") (number_literal "4")) (, ",") (identifier "iVar31") () ")")))) (; ";"))) (if_statement "if (uVar38 != 0) {\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }" (if "if") (parenthesized_expression "(uVar38 != 0)" (( "(") (binary_expression "uVar38 != 0" (identifier "uVar38") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar15 = *(undefined4 *)(param_1 + 8);\n            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";\n            goto LAB_00063189;\n          }" ({ "{") (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(undefined4 *)(param_1 + 8)" (identifier "uVar15") (= "=") (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 "pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";" (assignment_expression "pcVar12 = "The %s section contains unsupported offset entry count: %d.\n"" (identifier "pcVar12") (= "=") (string_literal ""The %s section contains unsupported offset entry count: %d.\n"" (" """) (string_content "The %s section contains unsupported offset entry count: %d.") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00063189;" (goto "goto") (statement_identifier "LAB_00063189") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00063219:\n        local_d4 = (uVar39 + 8) - uVar19;" (statement_identifier "LAB_00063219") (: ":") (expression_statement "local_d4 = (uVar39 + 8) - uVar19;" (assignment_expression "local_d4 = (uVar39 + 8) - uVar19" (identifier "local_d4") (= "=") (binary_expression "(uVar39 + 8) - uVar19" (parenthesized_expression "(uVar39 + 8)" (( "(") (binary_expression "uVar39 + 8" (identifier "uVar39") (+ "+") (number_literal "8")) () ")")) (- "-") (identifier "uVar19"))) (; ";"))) (expression_statement "local_d0 = local_d4 >> 0x1f;" (assignment_expression "local_d0 = local_d4 >> 0x1f" (identifier "local_d0") (= "=") (binary_expression "local_d4 >> 0x1f" (identifier "local_d4") (>> ">>") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_0006322d;" (goto "goto") (statement_identifier "LAB_0006322d") (; ";")) (} "}"))) (expression_statement "uVar38 = (uint)uVar10;" (assignment_expression "uVar38 = (uint)uVar10" (identifier "uVar38") (= "=") (cast_expression "(uint)uVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar10"))) (; ";")) (} "}")) (else_clause "else {\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }" (else "else") (compound_statement "{\n      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;\nLAB_00063148:\n      uVar38 = uVar39 + 2;\n      if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }\nLAB_00063137:\n      uVar38 = 0;\n    }" ({ "{") (if_statement "if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;" (if "if") (parenthesized_expression "((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8))" (( "(") (binary_expression "(uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)" (parenthesized_expression "(uVar19 < uVar37)" (( "(") (binary_expression "uVar19 < uVar37" (identifier "uVar19") (< "<") (identifier "uVar37")) () ")")) (&& "&&") (parenthesized_expression "(uVar36 = uVar2, uVar2 - 1 < 8)" (( "(") (comma_expression "uVar36 = uVar2, uVar2 - 1 < 8" (assignment_expression "uVar36 = uVar2" (identifier "uVar36") (= "=") (identifier "uVar2")) (, ",") (binary_expression "uVar2 - 1 < 8" (binary_expression "uVar2 - 1" (identifier "uVar2") (- "-") (number_literal "1")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_000630f8;" (goto "goto") (statement_identifier "LAB_000630f8") (; ";"))) (labeled_statement "LAB_00063148:\n      uVar38 = uVar39 + 2;" (statement_identifier "LAB_00063148") (: ":") (expression_statement "uVar38 = uVar39 + 2;" (assignment_expression "uVar38 = uVar39 + 2" (identifier "uVar38") (= "=") (binary_expression "uVar39 + 2" (identifier "uVar39") (+ "+") (number_literal "2"))) (; ";"))) (if_statement "if (uVar38 < uVar37) {\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }" (if "if") (parenthesized_expression "(uVar38 < uVar37)" (( "(") (binary_expression "uVar38 < uVar37" (identifier "uVar38") (< "<") (identifier "uVar37")) () ")")) (compound_statement "{\n        iVar31 = 2;\n        goto LAB_0006315d;\n      }" ({ "{") (expression_statement "iVar31 = 2;" (assignment_expression "iVar31 = 2" (identifier "iVar31") (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_0006315d;" (goto "goto") (statement_identifier "LAB_0006315d") (; ";")) (} "}"))) (labeled_statement "LAB_00063137:\n      uVar38 = 0;" (statement_identifier "LAB_00063137") (: ":") (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" (identifier "uVar38") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(undefined4 *)(param_1 + 8)" (identifier "uVar15") (= "=") (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 "pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";" (assignment_expression "pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n"" (identifier "pcVar12") (= "=") (string_literal ""The %s section contains corrupt or unsupported version number: %d.\n"" (" """) (string_content "The %s section contains corrupt or unsupported version number: %d.") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_00063189:\n    uVar13 = dcgettext(0,pcVar12,5);" (statement_identifier "LAB_00063189") (: ":") (expression_statement "uVar13 = dcgettext(0,pcVar12,5);" (assignment_expression "uVar13 = dcgettext(0,pcVar12,5)" (identifier "uVar13") (= "=") (call_expression "dcgettext(0,pcVar12,5)" (identifier "dcgettext") (argument_list "(0,pcVar12,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar12") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "warn(uVar13,uVar15,uVar38);" (call_expression "warn(uVar13,uVar15,uVar38)" (identifier "warn") (argument_list "(uVar13,uVar15,uVar38)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar15") (, ",") (identifier "uVar38") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" (identifier "local_d4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" (identifier "local_d0") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0006322d:\n  iVar31 = FUN_00062460();" (statement_identifier "LAB_0006322d") (: ":") (expression_statement "iVar31 = FUN_00062460();" (assignment_expression "iVar31 = FUN_00062460()" (identifier "iVar31") (= "=") (call_expression "FUN_00062460()" (identifier "FUN_00062460") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar31 == 0) {\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar31 == 0)" (( "(") (binary_expression "iVar31 == 0" (identifier "iVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar19 = 5;\n    uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);\nLAB_0006500d:\n    warn(uVar13,uVar15,uVar19);\n    return 0;\n  }" ({ "{") (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(undefined4 *)(param_1 + 8)" (identifier "uVar15") (= "=") (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 "uVar19 = 5;" (assignment_expression "uVar19 = 5" (identifier "uVar19") (= "=") (number_literal "5")) (; ";")) (expression_statement "uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5);" (assignment_expression "uVar13 = dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5)" (identifier "uVar13") (= "=") (call_expression "dcgettext(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5)" (identifier "dcgettext") (argument_list "(0,\n                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"\n                       ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"" (" """) (string_content "Unable to load/parse the .debug_info section, so cannot interpret the %s section.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (labeled_statement "LAB_0006500d:\n    warn(uVar13,uVar15,uVar19);" (statement_identifier "LAB_0006500d") (: ":") (expression_statement "warn(uVar13,uVar15,uVar19);" (call_expression "warn(uVar13,uVar15,uVar19)" (identifier "warn") (argument_list "(uVar13,uVar15,uVar19)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar15") (, ",") (identifier "uVar19") () ")"))) (; ";"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (DAT_000b9d6c == 0) {\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }\n  else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }" (if "if") (parenthesized_expression "(DAT_000b9d6c == 0)" (( "(") (binary_expression "DAT_000b9d6c == 0" (identifier "DAT_000b9d6c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_dc = (int *)0x0;\n    local_8c = 0;\n    bVar41 = true;\n    local_cc = 0;\n  }" ({ "{") (expression_statement "local_dc = (int *)0x0;" (assignment_expression "local_dc = (int *)0x0" (identifier "local_dc") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" (identifier "bVar41") (= "=") (true "true")) (; ";")) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" (identifier "local_cc") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }" (else "else") (compound_statement "{\n    bVar42 = false;\n    local_f0 = 0;\n    local_8c = 0;\n    local_e4 = (int *)(DAT_000b9d64 + 0x2c);\n    bVar41 = true;\n    local_f4 = 0;\n    local_104 = 0;\n    local_dc = (int *)0x0;\n    do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);\n    local_cc = local_8c * 0x50;\n    if (bVar42) goto LAB_00063484;\n  }" ({ "{") (expression_statement "bVar42 = false;" (assignment_expression "bVar42 = false" (identifier "bVar42") (= "=") (false "false")) (; ";")) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" (identifier "local_f0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e4 = (int *)(DAT_000b9d64 + 0x2c);" (assignment_expression "local_e4 = (int *)(DAT_000b9d64 + 0x2c)" (identifier "local_e4") (= "=") (cast_expression "(int *)(DAT_000b9d64 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_000b9d64 + 0x2c)" (( "(") (binary_expression "DAT_000b9d64 + 0x2c" (identifier "DAT_000b9d64") (+ "+") (number_literal "0x2c")) () ")")))) (; ";")) (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" (identifier "bVar41") (= "=") (true "true")) (; ";")) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" (identifier "local_f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_104 = 0;" (assignment_expression "local_104 = 0" (identifier "local_104") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_dc = (int *)0x0;" (assignment_expression "local_dc = (int *)0x0" (identifier "local_dc") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    } while (DAT_000b9d6c != local_f0);" (do "do") (compound_statement "{\n      uVar38 = local_e4[3];\n      if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }\n      if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }\n      local_f0 = local_f0 + 1;\n      local_e4 = local_e4 + 0x14;\n    }" ({ "{") (expression_statement "uVar38 = local_e4[3];" (assignment_expression "uVar38 = local_e4[3]" (identifier "uVar38") (= "=") (subscript_expression "local_e4[3]" (identifier "local_e4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (local_dc < uVar38) {\n        local_dc = (int *)uVar38;\n      }" (if "if") (parenthesized_expression "(local_dc < uVar38)" (( "(") (binary_expression "local_dc < uVar38" (identifier "local_dc") (< "<") (identifier "uVar38")) () ")")) (compound_statement "{\n        local_dc = (int *)uVar38;\n      }" ({ "{") (expression_statement "local_dc = (int *)uVar38;" (assignment_expression "local_dc = (int *)uVar38" (identifier "local_dc") (= "=") (cast_expression "(int *)uVar38" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar38"))) (; ";")) (} "}"))) (if_statement "if ((uVar38 != 0) && (bVar41)) {\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }" (if "if") (parenthesized_expression "((uVar38 != 0) && (bVar41))" (( "(") (binary_expression "(uVar38 != 0) && (bVar41)" (parenthesized_expression "(uVar38 != 0)" (( "(") (binary_expression "uVar38 != 0" (identifier "uVar38") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar41)" (( "(") (identifier "bVar41") () ")"))) () ")")) (compound_statement "{\n        if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }\n        uVar39 = (uint)!bVar42;\n        if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }\n      }" ({ "{") (if_statement "if (!bVar42) {\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }" (if "if") (parenthesized_expression "(!bVar42)" (( "(") (unary_expression "!bVar42" (! "!") (identifier "bVar42")) () ")")) (compound_statement "{\n          local_104 = *(uint *)*local_e4;\n          local_f4 = *(uint *)local_e4[1];\n          local_8c = local_f0;\n        }" ({ "{") (expression_statement "local_104 = *(uint *)*local_e4;" (assignment_expression "local_104 = *(uint *)*local_e4" (identifier "local_104") (= "=") (pointer_expression "*(uint *)*local_e4" (* "*") (cast_expression "(uint *)*local_e4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_e4" (* "*") (identifier "local_e4"))))) (; ";")) (expression_statement "local_f4 = *(uint *)local_e4[1];" (assignment_expression "local_f4 = *(uint *)local_e4[1]" (identifier "local_f4") (= "=") (pointer_expression "*(uint *)local_e4[1]" (* "*") (cast_expression "(uint *)local_e4[1]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_e4[1]" (identifier "local_e4") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "local_8c = local_f0;" (assignment_expression "local_8c = local_f0" (identifier "local_8c") (= "=") (identifier "local_f0")) (; ";")) (} "}"))) (expression_statement "uVar39 = (uint)!bVar42;" (assignment_expression "uVar39 = (uint)!bVar42" (identifier "uVar39") (= "=") (cast_expression "(uint)!bVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (unary_expression "!bVar42" (! "!") (identifier "bVar42")))) (; ";")) (if_statement "if (uVar39 < uVar38) {\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }\n        else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }" (if "if") (parenthesized_expression "(uVar39 < uVar38)" (( "(") (binary_expression "uVar39 < uVar38" (identifier "uVar39") (< "<") (identifier "uVar38")) () ")")) (compound_statement "{\n          iVar31 = *local_e4;\n          uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n          if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }\n          bVar41 = false;\n          bVar42 = true;\n        }" ({ "{") (expression_statement "iVar31 = *local_e4;" (assignment_expression "iVar31 = *local_e4" (identifier "iVar31") (= "=") (pointer_expression "*local_e4" (* "*") (identifier "local_e4"))) (; ";")) (expression_statement "uVar37 = *(uint *)(iVar31 + uVar39 * 8);" (assignment_expression "uVar37 = *(uint *)(iVar31 + uVar39 * 8)" (identifier "uVar37") (= "=") (pointer_expression "*(uint *)(iVar31 + uVar39 * 8)" (* "*") (cast_expression "(uint *)(iVar31 + uVar39 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + uVar39 * 8)" (( "(") (binary_expression "iVar31 + uVar39 * 8" (identifier "iVar31") (+ "+") (binary_expression "uVar39 * 8" (identifier "uVar39") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);" (assignment_expression "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8)" (identifier "uVar36") (= "=") (pointer_expression "*(uint *)(iVar31 + 4 + uVar39 * 8)" (* "*") (cast_expression "(uint *)(iVar31 + 4 + uVar39 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + 4 + uVar39 * 8)" (( "(") (binary_expression "iVar31 + 4 + uVar39 * 8" (binary_expression "iVar31 + 4" (identifier "iVar31") (+ "+") (number_literal "4")) (+ "+") (binary_expression "uVar39 * 8" (identifier "uVar39") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if ((uVar37 < local_104) <= uVar36) {\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }" (if "if") (parenthesized_expression "((uVar37 < local_104) <= uVar36)" (( "(") (binary_expression "(uVar37 < local_104) <= uVar36" (parenthesized_expression "(uVar37 < local_104)" (( "(") (binary_expression "uVar37 < local_104" (identifier "uVar37") (< "<") (identifier "local_104")) () ")")) (<= "<=") (identifier "uVar36")) () ")")) (compound_statement "{\n            do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);\n          }" ({ "{") (do_statement "do {\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            } while ((uVar37 < uVar33) <= uVar36);" (do "do") (compound_statement "{\n              uVar33 = uVar37;\n              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);\n              if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;\n              uVar39 = uVar39 + 1;\n              local_104 = uVar33;\n              local_f4 = uVar37;\n              if (uVar38 == uVar39) goto LAB_00063450;\n              uVar37 = *(uint *)(iVar31 + uVar39 * 8);\n              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);\n            }" ({ "{") (expression_statement "uVar33 = uVar37;" (assignment_expression "uVar33 = uVar37" (identifier "uVar33") (= "=") (identifier "uVar37")) (; ";")) (expression_statement "uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);" (assignment_expression "uVar37 = *(uint *)(local_e4[1] + uVar39 * 8)" (identifier "uVar37") (= "=") (pointer_expression "*(uint *)(local_e4[1] + uVar39 * 8)" (* "*") (cast_expression "(uint *)(local_e4[1] + uVar39 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_e4[1] + uVar39 * 8)" (( "(") (binary_expression "local_e4[1] + uVar39 * 8" (subscript_expression "local_e4[1]" (identifier "local_e4") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "uVar39 * 8" (identifier "uVar39") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if ((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;" (if "if") (parenthesized_expression "((uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4)))" (( "(") (binary_expression "(uVar36 == 0 && local_104 == uVar33) &&\n                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))" (parenthesized_expression "(uVar36 == 0 && local_104 == uVar33)" (( "(") (binary_expression "uVar36 == 0 && local_104 == uVar33" (binary_expression "uVar36 == 0" (identifier "uVar36") (== "==") (number_literal "0")) (&& "&&") (binary_expression "local_104 == uVar33" (identifier "local_104") (== "==") (identifier "uVar33"))) () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))" (( "(") (binary_expression "*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4)" (pointer_expression "*(uint *)(local_e4[1] + 4 + uVar39 * 8)" (* "*") (cast_expression "(uint *)(local_e4[1] + 4 + uVar39 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_e4[1] + 4 + uVar39 * 8)" (( "(") (binary_expression "local_e4[1] + 4 + uVar39 * 8" (binary_expression "local_e4[1] + 4" (subscript_expression "local_e4[1]" (identifier "local_e4") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "4")) (+ "+") (binary_expression "uVar39 * 8" (identifier "uVar39") (* "*") (number_literal "8"))) () ")")))) (< "<") (call_expression "(uint)(uVar37 < local_f4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar37 < local_f4)" (( "(") (binary_expression "uVar37 < local_f4" (identifier "uVar37") (< "<") (identifier "local_f4")) () ")")))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar39 = uVar39 + 1;" (assignment_expression "uVar39 = uVar39 + 1" (identifier "uVar39") (= "=") (binary_expression "uVar39 + 1" (identifier "uVar39") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_104 = uVar33;" (assignment_expression "local_104 = uVar33" (identifier "local_104") (= "=") (identifier "uVar33")) (; ";")) (expression_statement "local_f4 = uVar37;" (assignment_expression "local_f4 = uVar37" (identifier "local_f4") (= "=") (identifier "uVar37")) (; ";")) (if_statement "if (uVar38 == uVar39) goto LAB_00063450;" (if "if") (parenthesized_expression "(uVar38 == uVar39)" (( "(") (binary_expression "uVar38 == uVar39" (identifier "uVar38") (== "==") (identifier "uVar39")) () ")")) (goto_statement "goto LAB_00063450;" (goto "goto") (statement_identifier "LAB_00063450") (; ";"))) (expression_statement "uVar37 = *(uint *)(iVar31 + uVar39 * 8);" (assignment_expression "uVar37 = *(uint *)(iVar31 + uVar39 * 8)" (identifier "uVar37") (= "=") (pointer_expression "*(uint *)(iVar31 + uVar39 * 8)" (* "*") (cast_expression "(uint *)(iVar31 + uVar39 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + uVar39 * 8)" (( "(") (binary_expression "iVar31 + uVar39 * 8" (identifier "iVar31") (+ "+") (binary_expression "uVar39 * 8" (identifier "uVar39") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);" (assignment_expression "uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8)" (identifier "uVar36") (= "=") (pointer_expression "*(uint *)(iVar31 + 4 + uVar39 * 8)" (* "*") (cast_expression "(uint *)(iVar31 + 4 + uVar39 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + 4 + uVar39 * 8)" (( "(") (binary_expression "iVar31 + 4 + uVar39 * 8" (binary_expression "iVar31 + 4" (identifier "iVar31") (+ "+") (number_literal "4")) (+ "+") (binary_expression "uVar39 * 8" (identifier "uVar39") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uVar37 < uVar33) <= uVar36)" (( "(") (binary_expression "(uVar37 < uVar33) <= uVar36" (parenthesized_expression "(uVar37 < uVar33)" (( "(") (binary_expression "uVar37 < uVar33" (identifier "uVar37") (< "<") (identifier "uVar33")) () ")")) (<= "<=") (identifier "uVar36")) () ")")) (; ";")) (} "}"))) (expression_statement "bVar41 = false;" (assignment_expression "bVar41 = false" (identifier "bVar41") (= "=") (false "false")) (; ";")) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" (identifier "bVar42") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }" (else "else") (compound_statement "{\nLAB_00063450:\n          bVar41 = true;\n          bVar42 = true;\n        }" ({ "{") (labeled_statement "LAB_00063450:\n          bVar41 = true;" (statement_identifier "LAB_00063450") (: ":") (expression_statement "bVar41 = true;" (assignment_expression "bVar41 = true" (identifier "bVar41") (= "=") (true "true")) (; ";"))) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" (identifier "bVar42") (= "=") (true "true")) (; ";")) (} "}")))) (} "}"))) (expression_statement "local_f0 = local_f0 + 1;" (assignment_expression "local_f0 = local_f0 + 1" (identifier "local_f0") (= "=") (binary_expression "local_f0 + 1" (identifier "local_f0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_e4 = local_e4 + 0x14;" (assignment_expression "local_e4 = local_e4 + 0x14" (identifier "local_e4") (= "=") (binary_expression "local_e4 + 0x14" (identifier "local_e4") (+ "+") (number_literal "0x14"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(DAT_000b9d6c != local_f0)" (( "(") (binary_expression "DAT_000b9d6c != local_f0" (identifier "DAT_000b9d6c") (!= "!=") (identifier "local_f0")) () ")")) (; ";")) (expression_statement "local_cc = local_8c * 0x50;" (assignment_expression "local_cc = local_8c * 0x50" (identifier "local_cc") (= "=") (binary_expression "local_8c * 0x50" (identifier "local_8c") (* "*") (number_literal "0x50"))) (; ";")) (if_statement "if (bVar42) goto LAB_00063484;" (if "if") (parenthesized_expression "(bVar42)" (( "(") (identifier "bVar42") () ")")) (goto_statement "goto LAB_00063484;" (goto "goto") (statement_identifier "LAB_00063484") (; ";"))) (} "}")))) (expression_statement "uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);" (assignment_expression "uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"No location lists in .debug_info section!\n",5)" (identifier "dcgettext") (argument_list "(0,"No location lists in .debug_info section!\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""No location lists in .debug_info section!\n"" (" """) (string_content "No location lists in .debug_info section!") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar15);" (call_expression "error(uVar15)" (identifier "error") (argument_list "(uVar15)" (( "(") (identifier "uVar15") () ")"))) (; ";")) (labeled_statement "LAB_00063484:\n  local_cc = DAT_000b9d64 + local_cc;" (statement_identifier "LAB_00063484") (: ":") (expression_statement "local_cc = DAT_000b9d64 + local_cc;" (assignment_expression "local_cc = DAT_000b9d64 + local_cc" (identifier "local_cc") (= "=") (binary_expression "DAT_000b9d64 + local_cc" (identifier "DAT_000b9d64") (+ "+") (identifier "local_cc"))) (; ";"))) (if_statement "if (((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }" (if "if") (parenthesized_expression "(((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30)))" (( "(") (binary_expression "((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&\n     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))" (parenthesized_expression "((*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c)))" (( "(") (binary_expression "(*(int *)(local_cc + 0x38) != 0) &&\n      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))" (parenthesized_expression "(*(int *)(local_cc + 0x38) != 0)" (( "(") (binary_expression "*(int *)(local_cc + 0x38) != 0" (pointer_expression "*(int *)(local_cc + 0x38)" (* "*") (cast_expression "(int *)(local_cc + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_cc + 0x38)" (( "(") (binary_expression "local_cc + 0x38" (identifier "local_cc") (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))" (( "(") (binary_expression "local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c)" (binary_expression "local_d0 != (*(int **)(local_cc + 0x2c))[1]" (identifier "local_d0") (!= "!=") (subscript_expression "(*(int **)(local_cc + 0x2c))[1]" (parenthesized_expression "(*(int **)(local_cc + 0x2c))" (( "(") (pointer_expression "*(int **)(local_cc + 0x2c)" (* "*") (cast_expression "(int **)(local_cc + 0x2c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_cc + 0x2c)" (( "(") (binary_expression "local_cc + 0x2c" (identifier "local_cc") (+ "+") (number_literal "0x2c")) () ")")))) () ")")) ([ "[") (number_literal "1") (] "]"))) (|| "||") (binary_expression "local_d4 != **(int **)(local_cc + 0x2c)" (identifier "local_d4") (!= "!=") (pointer_expression "**(int **)(local_cc + 0x2c)" (* "*") (pointer_expression "*(int **)(local_cc + 0x2c)" (* "*") (cast_expression "(int **)(local_cc + 0x2c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_cc + 0x2c)" (( "(") (binary_expression "local_cc + 0x2c" (identifier "local_cc") (+ "+") (number_literal "0x2c")) () ")"))))))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))" (( "(") (binary_expression "local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30)" (binary_expression "local_d0 != (*(int **)(local_cc + 0x30))[1]" (identifier "local_d0") (!= "!=") (subscript_expression "(*(int **)(local_cc + 0x30))[1]" (parenthesized_expression "(*(int **)(local_cc + 0x30))" (( "(") (pointer_expression "*(int **)(local_cc + 0x30)" (* "*") (cast_expression "(int **)(local_cc + 0x30)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_cc + 0x30)" (( "(") (binary_expression "local_cc + 0x30" (identifier "local_cc") (+ "+") (number_literal "0x30")) () ")")))) () ")")) ([ "[") (number_literal "1") (] "]"))) (|| "||") (binary_expression "local_d4 != **(int **)(local_cc + 0x30)" (identifier "local_d4") (!= "!=") (pointer_expression "**(int **)(local_cc + 0x30)" (* "*") (pointer_expression "*(int **)(local_cc + 0x30)" (* "*") (cast_expression "(int **)(local_cc + 0x30)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_cc + 0x30)" (( "(") (binary_expression "local_cc + 0x30" (identifier "local_cc") (+ "+") (number_literal "0x30")) () ")"))))))) () ")"))) () ")")) (compound_statement "{\n    uVar13 = FUN_0004cb50(0);\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);\n    warn(uVar29,uVar15,uVar13);\n  }" ({ "{") (expression_statement "uVar13 = FUN_0004cb50(0);" (assignment_expression "uVar13 = FUN_0004cb50(0)" (identifier "uVar13") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(undefined4 *)(param_1 + 8)" (identifier "uVar15") (= "=") (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 "uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);" (assignment_expression "uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5)" (identifier "uVar29") (= "=") (call_expression "dcgettext(0,"Location lists in %s section start at 0x%s\n",5)" (identifier "dcgettext") (argument_list "(0,"Location lists in %s section start at 0x%s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Location lists in %s section start at 0x%s\n"" (" """) (string_content "Location lists in %s section start at 0x%s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar29,uVar15,uVar13);" (call_expression "warn(uVar29,uVar15,uVar13)" (identifier "warn") (argument_list "(uVar29,uVar15,uVar13)" (( "(") (identifier "uVar29") (, ",") (identifier "uVar15") (, ",") (identifier "uVar13") () ")"))) (; ";")) (} "}"))) (expression_statement "local_5c = (void *)0x0;" (assignment_expression "local_5c = (void *)0x0" (identifier "local_5c") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (!bVar41) {\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }" (if "if") (parenthesized_expression "(!bVar41)" (( "(") (unary_expression "!bVar41" (! "!") (identifier "bVar41")) () ")")) (compound_statement "{\n    local_5c = (void *)FUN_0005db00(local_dc,4);\n  }" ({ "{") (expression_statement "local_5c = (void *)FUN_0005db00(local_dc,4);" (assignment_expression "local_5c = (void *)FUN_0005db00(local_dc,4)" (identifier "local_5c") (= "=") (cast_expression "(void *)FUN_0005db00(local_dc,4)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0005db00(local_dc,4)" (identifier "FUN_0005db00") (argument_list "(local_dc,4)" (( "(") (identifier "local_dc") (, ",") (number_literal "4") () ")"))))) (; ";")) (} "}"))) (expression_statement "FUN_0004eb80();" (call_expression "FUN_0004eb80()" (identifier "FUN_0004eb80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar31 = FUN_00045000(param_1,0,0);" (assignment_expression "iVar31 = FUN_00045000(param_1,0,0)" (identifier "iVar31") (= "=") (call_expression "FUN_00045000(param_1,0,0)" (identifier "FUN_00045000") (argument_list "(param_1,0,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar31 != 0) {\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }" (if "if") (parenthesized_expression "(iVar31 != 0)" (( "(") (binary_expression "iVar31 != 0" (identifier "iVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);\n    printf(pcVar14);\n  }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" (identifier "dcgettext") (argument_list "(0,\n                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"\n                                ,5)" (( "(") (number_literal "0") (, ",") (string_literal "" Warning: This section has relocations - addresses seen here may not be accurate.\n\n"" (" """) (string_content " Warning: This section has relocations - addresses seen here may not be accurate.") (escape_sequence "\n") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"    Offset   Begin            End              Expression\n",5)" (identifier "dcgettext") (argument_list "(0,"    Offset   Begin            End              Expression\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""    Offset   Begin            End              Expression\n"" (" """) (string_content "    Offset   Begin            End              Expression") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (expression_statement "puVar7 = PTR_stdout_000b3fd8;" (assignment_expression "puVar7 = PTR_stdout_000b3fd8" (identifier "puVar7") (= "=") (identifier "PTR_stdout_000b3fd8")) (; ";")) (expression_statement "local_28 = uVar19;" (assignment_expression "local_28 = uVar19" (identifier "local_28") (= "=") (identifier "uVar19")) (; ";")) (if_statement "if (local_8c < DAT_000b9d6c) {\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }" (if "if") (parenthesized_expression "(local_8c < DAT_000b9d6c)" (( "(") (binary_expression "local_8c < DAT_000b9d6c" (identifier "local_8c") (< "<") (identifier "DAT_000b9d6c")) () ")")) (compound_statement "{\n    local_fc = DAT_000b9d64;\n    bVar42 = false;\n    do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);\n  }" ({ "{") (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" (identifier "local_fc") (= "=") (identifier "DAT_000b9d64")) (; ";")) (expression_statement "bVar42 = false;" (assignment_expression "bVar42 = false" (identifier "bVar42") (= "=") (false "false")) (; ";")) (do_statement "do {\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    } while (local_8c < DAT_000b9d6c);" (do "do") (compound_statement "{\n      iVar31 = local_8c * 0x50;\n      iVar34 = local_fc + iVar31;\n      __nmemb = *(size_t *)(iVar34 + 0x38);\n      if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }\n      bVar5 = true;\n      local_f0 = 0;\n      if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }\nLAB_00063fc0:\n      local_8c = local_8c + 1;\n    }" ({ "{") (expression_statement "iVar31 = local_8c * 0x50;" (assignment_expression "iVar31 = local_8c * 0x50" (identifier "iVar31") (= "=") (binary_expression "local_8c * 0x50" (identifier "local_8c") (* "*") (number_literal "0x50"))) (; ";")) (expression_statement "iVar34 = local_fc + iVar31;" (assignment_expression "iVar34 = local_fc + iVar31" (identifier "iVar34") (= "=") (binary_expression "local_fc + iVar31" (identifier "local_fc") (+ "+") (identifier "iVar31"))) (; ";")) (expression_statement "__nmemb = *(size_t *)(iVar34 + 0x38);" (assignment_expression "__nmemb = *(size_t *)(iVar34 + 0x38)" (identifier "__nmemb") (= "=") (pointer_expression "*(size_t *)(iVar34 + 0x38)" (* "*") (cast_expression "(size_t *)(iVar34 + 0x38)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + 0x38)" (( "(") (binary_expression "iVar34 + 0x38" (identifier "iVar34") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if (!bVar41) {\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }" (if "if") (parenthesized_expression "(!bVar41)" (( "(") (unary_expression "!bVar41" (! "!") (identifier "bVar41")) () ")")) (compound_statement "{\n        if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }\n        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);\n        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);\n        qsort(local_5c,__nmemb,4,FUN_0004c710);\n        local_fc = DAT_000b9d64;\n        iVar34 = iVar31 + DAT_000b9d64;\n        __nmemb = *(size_t *)(iVar34 + 0x38);\n      }" ({ "{") (if_statement "if (__nmemb != 0) {\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }" (if "if") (parenthesized_expression "(__nmemb != 0)" (( "(") (binary_expression "__nmemb != 0" (identifier "__nmemb") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar38 = 0;\n          do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);\n        }" ({ "{") (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" (identifier "uVar38") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          } while (uVar38 < __nmemb);" (do "do") (compound_statement "{\n            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;\n            __nmemb = *(uint *)(iVar34 + 0x38);\n            uVar38 = uVar38 + 1;\n          }" ({ "{") (expression_statement "*(uint *)((int)local_5c + uVar38 * 4) = uVar38;" (assignment_expression "*(uint *)((int)local_5c + uVar38 * 4) = uVar38" (pointer_expression "*(uint *)((int)local_5c + uVar38 * 4)" (* "*") (cast_expression "(uint *)((int)local_5c + uVar38 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_5c + uVar38 * 4)" (( "(") (binary_expression "(int)local_5c + uVar38 * 4" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (+ "+") (binary_expression "uVar38 * 4" (identifier "uVar38") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar38")) (; ";")) (expression_statement "__nmemb = *(uint *)(iVar34 + 0x38);" (assignment_expression "__nmemb = *(uint *)(iVar34 + 0x38)" (identifier "__nmemb") (= "=") (pointer_expression "*(uint *)(iVar34 + 0x38)" (* "*") (cast_expression "(uint *)(iVar34 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + 0x38)" (( "(") (binary_expression "iVar34 + 0x38" (identifier "iVar34") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "uVar38 = uVar38 + 1;" (assignment_expression "uVar38 = uVar38 + 1" (identifier "uVar38") (= "=") (binary_expression "uVar38 + 1" (identifier "uVar38") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar38 < __nmemb)" (( "(") (binary_expression "uVar38 < __nmemb" (identifier "uVar38") (< "<") (identifier "__nmemb")) () ")")) (; ";")) (} "}"))) (expression_statement "DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);" (assignment_expression "DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c)" (identifier "DAT_000b9cdc") (= "=") (pointer_expression "*(undefined4 *)(iVar34 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar34 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + 0x2c)" (( "(") (binary_expression "iVar34 + 0x2c" (identifier "iVar34") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);" (assignment_expression "DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30)" (identifier "DAT_000b9cd8") (= "=") (pointer_expression "*(undefined4 *)(iVar34 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar34 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + 0x30)" (( "(") (binary_expression "iVar34 + 0x30" (identifier "iVar34") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "qsort(local_5c,__nmemb,4,FUN_0004c710);" (call_expression "qsort(local_5c,__nmemb,4,FUN_0004c710)" (identifier "qsort") (argument_list "(local_5c,__nmemb,4,FUN_0004c710)" (( "(") (identifier "local_5c") (, ",") (identifier "__nmemb") (, ",") (number_literal "4") (, ",") (identifier "FUN_0004c710") () ")"))) (; ";")) (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" (identifier "local_fc") (= "=") (identifier "DAT_000b9d64")) (; ";")) (expression_statement "iVar34 = iVar31 + DAT_000b9d64;" (assignment_expression "iVar34 = iVar31 + DAT_000b9d64" (identifier "iVar34") (= "=") (binary_expression "iVar31 + DAT_000b9d64" (identifier "iVar31") (+ "+") (identifier "DAT_000b9d64"))) (; ";")) (expression_statement "__nmemb = *(size_t *)(iVar34 + 0x38);" (assignment_expression "__nmemb = *(size_t *)(iVar34 + 0x38)" (identifier "__nmemb") (= "=") (pointer_expression "*(size_t *)(iVar34 + 0x38)" (* "*") (cast_expression "(size_t *)(iVar34 + 0x38)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + 0x38)" (( "(") (binary_expression "iVar34 + 0x38" (identifier "iVar34") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (} "}"))) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" (identifier "local_f0") (= "=") (number_literal "0")) (; ";")) (if_statement "if (__nmemb != 0) {\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }" (if "if") (parenthesized_expression "(__nmemb != 0)" (( "(") (binary_expression "__nmemb != 0" (identifier "__nmemb") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);\n        puVar3 = *(uint **)(iVar34 + 0x2c);\n        if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }\n        if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }\n        local_ec = local_f0;\n        local_10c = puVar3[local_f0 * 2];\n        local_e8 = local_f0 * 8 + -8;\n        local_108 = puVar3[local_f0 * 2 + 1];\n        local_f4 = puVar20[local_f0 * 2 + 1];\n        uVar38 = puVar20[local_f0 * 2];\nLAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }\n        goto LAB_0006373a;\n      }" ({ "{") (labeled_statement "LAB_00063757:\n        puVar20 = *(uint **)(iVar34 + 0x30);" (statement_identifier "LAB_00063757") (: ":") (expression_statement "puVar20 = *(uint **)(iVar34 + 0x30);" (assignment_expression "puVar20 = *(uint **)(iVar34 + 0x30)" (identifier "puVar20") (= "=") (pointer_expression "*(uint **)(iVar34 + 0x30)" (* "*") (cast_expression "(uint **)(iVar34 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar34 + 0x30)" (( "(") (binary_expression "iVar34 + 0x30" (identifier "iVar34") (+ "+") (number_literal "0x30")) () ")"))))) (; ";"))) (expression_statement "puVar3 = *(uint **)(iVar34 + 0x2c);" (assignment_expression "puVar3 = *(uint **)(iVar34 + 0x2c)" (identifier "puVar3") (= "=") (pointer_expression "*(uint **)(iVar34 + 0x2c)" (* "*") (cast_expression "(uint **)(iVar34 + 0x2c)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar34 + 0x2c)" (( "(") (binary_expression "iVar34 + 0x2c" (identifier "iVar34") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (!bVar41) {\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }" (if "if") (parenthesized_expression "(!bVar41)" (( "(") (unary_expression "!bVar41" (! "!") (identifier "bVar41")) () ")")) (compound_statement "{\n          local_ec = *(uint *)((int)local_5c + local_f0 * 4);\n          local_108 = puVar3[local_ec * 2 + 1];\n          local_10c = puVar3[local_ec * 2];\n          uVar38 = puVar20[local_ec * 2];\n          local_f4 = puVar20[local_ec * 2 + 1];\n          if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }\n          iVar16 = local_ec << 2;\nLAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);\n          uVar39 = uVar19 + local_10c;\n          if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }\n          if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }\nLAB_000636b8:\n          local_24 = local_ec;\n          local_28 = uVar39;\n          if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }\n          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }\n          if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }\n          goto LAB_000637dc;\n        }" ({ "{") (expression_statement "local_ec = *(uint *)((int)local_5c + local_f0 * 4);" (assignment_expression "local_ec = *(uint *)((int)local_5c + local_f0 * 4)" (identifier "local_ec") (= "=") (pointer_expression "*(uint *)((int)local_5c + local_f0 * 4)" (* "*") (cast_expression "(uint *)((int)local_5c + local_f0 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_5c + local_f0 * 4)" (( "(") (binary_expression "(int)local_5c + local_f0 * 4" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (+ "+") (binary_expression "local_f0 * 4" (identifier "local_f0") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "local_108 = puVar3[local_ec * 2 + 1];" (assignment_expression "local_108 = puVar3[local_ec * 2 + 1]" (identifier "local_108") (= "=") (subscript_expression "puVar3[local_ec * 2 + 1]" (identifier "puVar3") ([ "[") (binary_expression "local_ec * 2 + 1" (binary_expression "local_ec * 2" (identifier "local_ec") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "local_10c = puVar3[local_ec * 2];" (assignment_expression "local_10c = puVar3[local_ec * 2]" (identifier "local_10c") (= "=") (subscript_expression "puVar3[local_ec * 2]" (identifier "puVar3") ([ "[") (binary_expression "local_ec * 2" (identifier "local_ec") (* "*") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "uVar38 = puVar20[local_ec * 2];" (assignment_expression "uVar38 = puVar20[local_ec * 2]" (identifier "uVar38") (= "=") (subscript_expression "puVar20[local_ec * 2]" (identifier "puVar20") ([ "[") (binary_expression "local_ec * 2" (identifier "local_ec") (* "*") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "local_f4 = puVar20[local_ec * 2 + 1];" (assignment_expression "local_f4 = puVar20[local_ec * 2 + 1]" (identifier "local_f4") (= "=") (subscript_expression "puVar20[local_ec * 2 + 1]" (identifier "puVar20") ([ "[") (binary_expression "local_ec * 2 + 1" (binary_expression "local_ec * 2" (identifier "local_ec") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]"))) (; ";")) (if_statement "if (local_f0 != 0) {\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }" (if "if") (parenthesized_expression "(local_f0 != 0)" (( "(") (binary_expression "local_f0 != 0" (identifier "local_f0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;\n            goto LAB_0006389e;\n          }" ({ "{") (expression_statement "local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;" (assignment_expression "local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3" (identifier "local_e8") (= "=") (binary_expression "*(int *)((int)local_5c + local_f0 * 4 + -4) << 3" (pointer_expression "*(int *)((int)local_5c + local_f0 * 4 + -4)" (* "*") (cast_expression "(int *)((int)local_5c + local_f0 * 4 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_5c + local_f0 * 4 + -4)" (( "(") (binary_expression "(int)local_5c + local_f0 * 4 + -4" (binary_expression "(int)local_5c + local_f0 * 4" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (+ "+") (binary_expression "local_f0 * 4" (identifier "local_f0") (* "*") (number_literal "4"))) (+ "+") (number_literal "-4")) () ")")))) (<< "<<") (number_literal "3"))) (; ";")) (goto_statement "goto LAB_0006389e;" (goto "goto") (statement_identifier "LAB_0006389e") (; ";")) (} "}"))) (expression_statement "iVar16 = local_ec << 2;" (assignment_expression "iVar16 = local_ec << 2" (identifier "iVar16") (= "=") (binary_expression "local_ec << 2" (identifier "local_ec") (<< "<<") (number_literal "2"))) (; ";")) (labeled_statement "LAB_000635f2:\n          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);" (statement_identifier "LAB_000635f2") (: ":") (expression_statement "iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);" (assignment_expression "iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(*(int *)(iVar34 + 0x34) + iVar16)" (* "*") (cast_expression "(int *)(*(int *)(iVar34 + 0x34) + iVar16)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar34 + 0x34) + iVar16)" (( "(") (binary_expression "*(int *)(iVar34 + 0x34) + iVar16" (pointer_expression "*(int *)(iVar34 + 0x34)" (* "*") (cast_expression "(int *)(iVar34 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + 0x34)" (( "(") (binary_expression "iVar34 + 0x34" (identifier "iVar34") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (identifier "iVar16")) () ")"))))) (; ";"))) (expression_statement "uVar39 = uVar19 + local_10c;" (assignment_expression "uVar39 = uVar19 + local_10c" (identifier "uVar39") (= "=") (binary_expression "uVar19 + local_10c" (identifier "uVar19") (+ "+") (identifier "local_10c"))) (; ";")) (if_statement "if ((local_f4 & uVar38) == 0xffffffff) {\n            local_ec = 0;\n            bVar6 = false;\n          }\n          else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }" (if "if") (parenthesized_expression "((local_f4 & uVar38) == 0xffffffff)" (( "(") (binary_expression "(local_f4 & uVar38) == 0xffffffff" (parenthesized_expression "(local_f4 & uVar38)" (( "(") (binary_expression "local_f4 & uVar38" (identifier "local_f4") (& "&") (identifier "uVar38")) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n            local_ec = 0;\n            bVar6 = false;\n          }" ({ "{") (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" (identifier "local_ec") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }" (else "else") (compound_statement "{\n            local_ec = uVar19 + uVar38;\n            bVar9 = local_ec < uVar39 && local_ec != 0;\n            bVar6 = local_ec != 0;\n            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }\n          }" ({ "{") (expression_statement "local_ec = uVar19 + uVar38;" (assignment_expression "local_ec = uVar19 + uVar38" (identifier "local_ec") (= "=") (binary_expression "uVar19 + uVar38" (identifier "uVar19") (+ "+") (identifier "uVar38"))) (; ";")) (expression_statement "bVar9 = local_ec < uVar39 && local_ec != 0;" (assignment_expression "bVar9 = local_ec < uVar39 && local_ec != 0" (identifier "bVar9") (= "=") (binary_expression "local_ec < uVar39 && local_ec != 0" (binary_expression "local_ec < uVar39" (identifier "local_ec") (< "<") (identifier "uVar39")) (&& "&&") (binary_expression "local_ec != 0" (identifier "local_ec") (!= "!=") (number_literal "0")))) (; ";")) (expression_statement "bVar6 = local_ec != 0;" (assignment_expression "bVar6 = local_ec != 0" (identifier "bVar6") (= "=") (binary_expression "local_ec != 0" (identifier "local_ec") (!= "!=") (number_literal "0"))) (; ";")) (if_statement "if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {\n              local_28 = local_ec;\n            }" (if "if") (parenthesized_expression "((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec))" (( "(") (binary_expression "(bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)" (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (&& "&&") (parenthesized_expression "(FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)" (( "(") (comma_expression "FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec" (call_expression "FUN_000520e0(uVar39)" (identifier "FUN_000520e0") (argument_list "(uVar39)" (( "(") (identifier "uVar39") () ")"))) (, ",") (comma_expression "bVar6 = bVar9, local_28 == local_ec" (assignment_expression "bVar6 = bVar9" (identifier "bVar6") (= "=") (identifier "bVar9")) (, ",") (binary_expression "local_28 == local_ec" (identifier "local_28") (== "==") (identifier "local_ec")))) () ")"))) () ")")) (compound_statement "{\n              local_28 = local_ec;\n            }" ({ "{") (expression_statement "local_28 = local_ec;" (assignment_expression "local_28 = local_ec" (identifier "local_28") (= "=") (identifier "local_ec")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (bVar42 && bVar5) {\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }" (if "if") (parenthesized_expression "(bVar42 && bVar5)" (( "(") (binary_expression "bVar42 && bVar5" (identifier "bVar42") (&& "&&") (identifier "bVar5")) () ")")) (compound_statement "{\n            if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            uVar15 = dcgettext(0,pcVar14,5);\n            warn(uVar15,local_28 - uVar19,local_10c);\n          }" ({ "{") (if_statement "if (local_28 < uVar39) {\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }\n            else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" (if "if") (parenthesized_expression "(local_28 < uVar39)" (( "(") (binary_expression "local_28 < uVar39" (identifier "local_28") (< "<") (identifier "uVar39")) () ")")) (compound_statement "{\n              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" ({ "{") (expression_statement "pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";" (assignment_expression "pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"" (identifier "pcVar14") (= "=") (string_literal ""There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"" (" """) (string_content "There is a hole [0x%lx - 0x%lx] in .debug_loc section.") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" (else "else") (compound_statement "{\n              if (local_28 <= uVar39) goto LAB_000636b8;\n              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";\n            }" ({ "{") (if_statement "if (local_28 <= uVar39) goto LAB_000636b8;" (if "if") (parenthesized_expression "(local_28 <= uVar39)" (( "(") (binary_expression "local_28 <= uVar39" (identifier "local_28") (<= "<=") (identifier "uVar39")) () ")")) (goto_statement "goto LAB_000636b8;" (goto "goto") (statement_identifier "LAB_000636b8") (; ";"))) (expression_statement "pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";" (assignment_expression "pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"" (identifier "pcVar14") (= "=") (string_literal ""There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"" (" """) (string_content "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (expression_statement "uVar15 = dcgettext(0,pcVar14,5);" (assignment_expression "uVar15 = dcgettext(0,pcVar14,5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,pcVar14,5)" (identifier "dcgettext") (argument_list "(0,pcVar14,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar14") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,local_28 - uVar19,local_10c);" (call_expression "warn(uVar15,local_28 - uVar19,local_10c)" (identifier "warn") (argument_list "(uVar15,local_28 - uVar19,local_10c)" (( "(") (identifier "uVar15") (, ",") (binary_expression "local_28 - uVar19" (identifier "local_28") (- "-") (identifier "uVar19")) (, ",") (identifier "local_10c") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000636b8:\n          local_24 = local_ec;" (statement_identifier "LAB_000636b8") (: ":") (expression_statement "local_24 = local_ec;" (assignment_expression "local_24 = local_ec" (identifier "local_24") (= "=") (identifier "local_ec")) (; ";"))) (expression_statement "local_28 = uVar39;" (assignment_expression "local_28 = uVar39" (identifier "local_28") (= "=") (identifier "uVar39")) (; ";")) (if_statement "if ((local_10c < uVar2) <= local_108) {\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }" (if "if") (parenthesized_expression "((local_10c < uVar2) <= local_108)" (( "(") (binary_expression "(local_10c < uVar2) <= local_108" (parenthesized_expression "(local_10c < uVar2)" (( "(") (binary_expression "local_10c < uVar2" (identifier "local_10c") (< "<") (identifier "uVar2")) () ")")) (<= "<=") (identifier "local_108")) () ")")) (compound_statement "{\n            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);\nLAB_0006371f:\n            warn(uVar15,local_10c);\n            local_fc = DAT_000b9d64;\n            bVar42 = true;\n            goto LAB_0006373a;\n          }" ({ "{") (expression_statement "uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5)" (identifier "dcgettext") (argument_list "(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Offset 0x%lx is bigger than .debug_loc section size.\n"" (" """) (string_content "Offset 0x%lx is bigger than .debug_loc section size.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (labeled_statement "LAB_0006371f:\n            warn(uVar15,local_10c);" (statement_identifier "LAB_0006371f") (: ":") (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" (identifier "warn") (argument_list "(uVar15,local_10c)" (( "(") (identifier "uVar15") (, ",") (identifier "local_10c") () ")"))) (; ";"))) (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" (identifier "local_fc") (= "=") (identifier "DAT_000b9d64")) (; ";")) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" (identifier "bVar42") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_0006373a;" (goto "goto") (statement_identifier "LAB_0006373a") (; ";")) (} "}"))) (if_statement "if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }" (if "if") (parenthesized_expression "((local_ec != 0) && ((uVar38 < uVar2) <= local_f4))" (( "(") (binary_expression "(local_ec != 0) && ((uVar38 < uVar2) <= local_f4)" (parenthesized_expression "(local_ec != 0)" (( "(") (binary_expression "local_ec != 0" (identifier "local_ec") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uVar38 < uVar2) <= local_f4)" (( "(") (binary_expression "(uVar38 < uVar2) <= local_f4" (parenthesized_expression "(uVar38 < uVar2)" (( "(") (binary_expression "uVar38 < uVar2" (identifier "uVar38") (< "<") (identifier "uVar2")) () ")")) (<= "<=") (identifier "local_f4")) () ")"))) () ")")) (compound_statement "{\n            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);\n            local_10c = uVar38;\n            goto LAB_0006371f;\n          }" ({ "{") (expression_statement "uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5)" (identifier "dcgettext") (argument_list "(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""View Offset 0x%lx is bigger than .debug_loc section size.\n"" (" """) (string_content "View Offset 0x%lx is bigger than .debug_loc section size.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "local_10c = uVar38;" (assignment_expression "local_10c = uVar38" (identifier "local_10c") (= "=") (identifier "uVar38")) (; ";")) (goto_statement "goto LAB_0006371f;" (goto "goto") (statement_identifier "LAB_0006371f") (; ";")) (} "}"))) (if_statement "if (pcVar12 == (char *)0x0) {\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }\n          else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" (if "if") (parenthesized_expression "(pcVar12 == (char *)0x0)" (( "(") (binary_expression "pcVar12 == (char *)0x0" (identifier "pcVar12") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);\n            if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }\n          }" ({ "{") (expression_statement "uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);" (assignment_expression "uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" (identifier "uVar38") (= "=") (binary_expression "*(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" (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")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (if_statement "if (local_68 == 0) {\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }\n            else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" (if "if") (parenthesized_expression "(local_68 == 0)" (( "(") (binary_expression "local_68 == 0" (identifier "local_68") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }\n              puVar20 = (uint *)(iVar31 + DAT_000b9d64);\n              uVar37 = *puVar20;\n              if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }\n            }" ({ "{") (if_statement "if (DAT_000b9d6c <= local_8c) {\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }" (if "if") (parenthesized_expression "(DAT_000b9d6c <= local_8c)" (( "(") (binary_expression "DAT_000b9d6c <= local_8c" (identifier "DAT_000b9d6c") (<= "<=") (identifier "local_8c")) () ")")) (compound_statement "{\n                pcVar14 = "No debug information available for loc lists of entry: %u\n";\n                goto LAB_00064bdb;\n              }" ({ "{") (expression_statement "pcVar14 = "No debug information available for loc lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information available for loc lists of entry: %u\n"" (identifier "pcVar14") (= "=") (string_literal ""No debug information available for loc lists of entry: %u\n"" (" """) (string_content "No debug information available for loc lists of entry: %u") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00064bdb;" (goto "goto") (statement_identifier "LAB_00064bdb") (; ";")) (} "}"))) (expression_statement "puVar20 = (uint *)(iVar31 + DAT_000b9d64);" (assignment_expression "puVar20 = (uint *)(iVar31 + DAT_000b9d64)" (identifier "puVar20") (= "=") (cast_expression "(uint *)(iVar31 + DAT_000b9d64)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + DAT_000b9d64)" (( "(") (binary_expression "iVar31 + DAT_000b9d64" (identifier "iVar31") (+ "+") (identifier "DAT_000b9d64")) () ")")))) (; ";")) (expression_statement "uVar37 = *puVar20;" (assignment_expression "uVar37 = *puVar20" (identifier "uVar37") (= "=") (pointer_expression "*puVar20" (* "*") (identifier "puVar20"))) (; ";")) (if_statement "if (uVar37 - 2 < 7) {\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }\n              else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }" (if "if") (parenthesized_expression "(uVar37 - 2 < 7)" (( "(") (binary_expression "uVar37 - 2 < 7" (binary_expression "uVar37 - 2" (identifier "uVar37") (- "-") (number_literal "2")) (< "<") (number_literal "7")) () ")")) (compound_statement "{\n                uVar33 = puVar20[3];\n                uVar4 = puVar20[2];\n                uVar36 = uVar37 * 8 - 1;\n                bVar30 = (byte)uVar36;\n                bVar8 = bVar30 & 0x1f;\n                uVar21 = -2 << (bVar30 & 0x1f);\n                uVar22 = uVar21;\n                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;\n                if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }\n                uVar22 = ~uVar22;\n                local_7c = local_ec;\n                uVar23 = ~uVar23;\n                uVar36 = uVar39;\n                while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }\n                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );\n                warn(uVar15,local_10c);\nLAB_000646df:\n                local_24 = local_7c;\n              }" ({ "{") (expression_statement "uVar33 = puVar20[3];" (assignment_expression "uVar33 = puVar20[3]" (identifier "uVar33") (= "=") (subscript_expression "puVar20[3]" (identifier "puVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar4 = puVar20[2];" (assignment_expression "uVar4 = puVar20[2]" (identifier "uVar4") (= "=") (subscript_expression "puVar20[2]" (identifier "puVar20") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar36 = uVar37 * 8 - 1;" (assignment_expression "uVar36 = uVar37 * 8 - 1" (identifier "uVar36") (= "=") (binary_expression "uVar37 * 8 - 1" (binary_expression "uVar37 * 8" (identifier "uVar37") (* "*") (number_literal "8")) (- "-") (number_literal "1"))) (; ";")) (expression_statement "bVar30 = (byte)uVar36;" (assignment_expression "bVar30 = (byte)uVar36" (identifier "bVar30") (= "=") (cast_expression "(byte)uVar36" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar36"))) (; ";")) (expression_statement "bVar8 = bVar30 & 0x1f;" (assignment_expression "bVar8 = bVar30 & 0x1f" (identifier "bVar8") (= "=") (binary_expression "bVar30 & 0x1f" (identifier "bVar30") (& "&") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar21 = -2 << (bVar30 & 0x1f);" (assignment_expression "uVar21 = -2 << (bVar30 & 0x1f)" (identifier "uVar21") (= "=") (binary_expression "-2 << (bVar30 & 0x1f)" (number_literal "-2") (<< "<<") (parenthesized_expression "(bVar30 & 0x1f)" (( "(") (binary_expression "bVar30 & 0x1f" (identifier "bVar30") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar22 = uVar21;" (assignment_expression "uVar22 = uVar21" (identifier "uVar22") (= "=") (identifier "uVar21")) (; ";")) (expression_statement "uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;" (assignment_expression "uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8" (identifier "uVar23") (= "=") (binary_expression "-1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8" (binary_expression "-1 << bVar8" (number_literal "-1") (<< "<<") (identifier "bVar8")) (| "|") (binary_expression "0xfffffffeU >> 0x20 - bVar8" (number_literal "0xfffffffeU") (>> ">>") (binary_expression "0x20 - bVar8" (number_literal "0x20") (- "-") (identifier "bVar8"))))) (; ";")) (if_statement "if ((uVar36 & 0x20) != 0) {\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }" (if "if") (parenthesized_expression "((uVar36 & 0x20) != 0)" (( "(") (binary_expression "(uVar36 & 0x20) != 0" (parenthesized_expression "(uVar36 & 0x20)" (( "(") (binary_expression "uVar36 & 0x20" (identifier "uVar36") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar22 = 0;\n                  uVar23 = uVar21;\n                }" ({ "{") (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar23 = uVar21;" (assignment_expression "uVar23 = uVar21" (identifier "uVar23") (= "=") (identifier "uVar21")) (; ";")) (} "}"))) (expression_statement "uVar22 = ~uVar22;" (assignment_expression "uVar22 = ~uVar22" (identifier "uVar22") (= "=") (unary_expression "~uVar22" (~ "~") (identifier "uVar22"))) (; ";")) (expression_statement "local_7c = local_ec;" (assignment_expression "local_7c = local_ec" (identifier "local_7c") (= "=") (identifier "local_ec")) (; ";")) (expression_statement "uVar23 = ~uVar23;" (assignment_expression "uVar23 = ~uVar23" (identifier "uVar23") (= "=") (unary_expression "~uVar23" (~ "~") (identifier "uVar23"))) (; ";")) (expression_statement "uVar36 = uVar39;" (assignment_expression "uVar36 = uVar39" (identifier "uVar36") (= "=") (identifier "uVar39")) (; ";")) (while_statement "while( true ) {\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                  uVar21 = uVar36 - uVar39;\n                  uVar25 = uVar21 + local_10c;\n                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);\n                  uVar21 = uVar36 + uVar37 * 2;\n                  local_28 = uVar36;\n                  if (uVar38 < uVar21) break;\n                  printf("    %8.8lx ",uVar25);\n                  uVar1 = uVar36 + uVar37;\n                  uVar26 = uVar37;\n                  uVar27 = uVar37;\n                  if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }\n                  local_d8 = (uint)(uVar45 >> 0x20);\n                  local_dc = (int *)uVar45;\n                  local_100 = (uint)(uVar44 >> 0x20);\n                  local_104 = (uint)uVar44;\n                  uVar36 = uVar1 + uVar37;\n                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }\n                }" ({ "{") (expression_statement "uVar21 = uVar36 - uVar39;" (assignment_expression "uVar21 = uVar36 - uVar39" (identifier "uVar21") (= "=") (binary_expression "uVar36 - uVar39" (identifier "uVar36") (- "-") (identifier "uVar39"))) (; ";")) (expression_statement "uVar25 = uVar21 + local_10c;" (assignment_expression "uVar25 = uVar21 + local_10c" (identifier "uVar25") (= "=") (binary_expression "uVar21 + local_10c" (identifier "uVar21") (+ "+") (identifier "local_10c"))) (; ";")) (expression_statement "iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);" (assignment_expression "iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c)" (identifier "iVar16") (= "=") (binary_expression "((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c)" (binary_expression "((int)uVar21 >> 0x1f) + local_108" (parenthesized_expression "((int)uVar21 >> 0x1f)" (( "(") (binary_expression "(int)uVar21 >> 0x1f" (cast_expression "(int)uVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x1f")) () ")")) (+ "+") (identifier "local_108")) (+ "+") (cast_expression "(uint)CARRY4(uVar21,local_10c)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar21,local_10c)" (identifier "CARRY4") (argument_list "(uVar21,local_10c)" (( "(") (identifier "uVar21") (, ",") (identifier "local_10c") () ")")))))) (; ";")) (expression_statement "uVar21 = uVar36 + uVar37 * 2;" (assignment_expression "uVar21 = uVar36 + uVar37 * 2" (identifier "uVar21") (= "=") (binary_expression "uVar36 + uVar37 * 2" (identifier "uVar36") (+ "+") (binary_expression "uVar37 * 2" (identifier "uVar37") (* "*") (number_literal "2")))) (; ";")) (expression_statement "local_28 = uVar36;" (assignment_expression "local_28 = uVar36" (identifier "local_28") (= "=") (identifier "uVar36")) (; ";")) (if_statement "if (uVar38 < uVar21) break;" (if "if") (parenthesized_expression "(uVar38 < uVar21)" (( "(") (binary_expression "uVar38 < uVar21" (identifier "uVar38") (< "<") (identifier "uVar21")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "printf("    %8.8lx ",uVar25);" (call_expression "printf("    %8.8lx ",uVar25)" (identifier "printf") (argument_list "("    %8.8lx ",uVar25)" (( "(") (string_literal ""    %8.8lx "" (" """) (string_content "    %8.8lx ") (" """)) (, ",") (identifier "uVar25") () ")"))) (; ";")) (expression_statement "uVar1 = uVar36 + uVar37;" (assignment_expression "uVar1 = uVar36 + uVar37" (identifier "uVar1") (= "=") (binary_expression "uVar36 + uVar37" (identifier "uVar36") (+ "+") (identifier "uVar37"))) (; ";")) (expression_statement "uVar26 = uVar37;" (assignment_expression "uVar26 = uVar37" (identifier "uVar26") (= "=") (identifier "uVar37")) (; ";")) (expression_statement "uVar27 = uVar37;" (assignment_expression "uVar27 = uVar37" (identifier "uVar27") (= "=") (identifier "uVar37")) (; ";")) (if_statement "if (uVar1 < uVar38) {\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }\n                  else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }" (if "if") (parenthesized_expression "(uVar1 < uVar38)" (( "(") (binary_expression "uVar1 < uVar38" (identifier "uVar1") (< "<") (identifier "uVar38")) () ")")) (compound_statement "{\nLAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);\n                    uVar44 = uVar48;\n                    if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }\n                    if (uVar48 == 0) goto LAB_00064257;\n                  }" ({ "{") (labeled_statement "LAB_00064528:\n                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);" (statement_identifier "LAB_00064528") (: ":") (expression_statement "uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);" (assignment_expression "uVar48 = (*DAT_000b9dd8)(uVar36,uVar26)" (identifier "uVar48") (= "=") (call_expression "(*DAT_000b9dd8)(uVar36,uVar26)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar36,uVar26)" (( "(") (identifier "uVar36") (, ",") (identifier "uVar26") () ")")))) (; ";"))) (expression_statement "uVar44 = uVar48;" (assignment_expression "uVar44 = uVar48" (identifier "uVar44") (= "=") (identifier "uVar48")) (; ";")) (if_statement "if ((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {\n                      uVar45 = 0;\n                    }\n                    else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }" (if "if") (parenthesized_expression "((uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1))))" (( "(") (binary_expression "(uVar21 == uVar38) &&\n                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))" (parenthesized_expression "(uVar21 == uVar38)" (( "(") (binary_expression "uVar21 == uVar38" (identifier "uVar21") (== "==") (identifier "uVar38")) () ")")) (&& "&&") (parenthesized_expression "((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))" (( "(") (parenthesized_expression "(uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1))" (( "(") (binary_expression "uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)" (binary_expression "uVar38 <= uVar1" (identifier "uVar38") (<= "<=") (identifier "uVar1")) (|| "||") (parenthesized_expression "(uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)" (( "(") (comma_expression "uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1" (assignment_expression "uVar27 = uVar38 - uVar1" (identifier "uVar27") (= "=") (binary_expression "uVar38 - uVar1" (identifier "uVar38") (- "-") (identifier "uVar1"))) (, ",") (binary_expression "7 < (uVar38 - uVar1) - 1" (number_literal "7") (< "<") (binary_expression "(uVar38 - uVar1) - 1" (parenthesized_expression "(uVar38 - uVar1)" (( "(") (binary_expression "uVar38 - uVar1" (identifier "uVar38") (- "-") (identifier "uVar1")) () ")")) (- "-") (number_literal "1")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                      uVar45 = 0;\n                    }" ({ "{") (expression_statement "uVar45 = 0;" (assignment_expression "uVar45 = 0" (identifier "uVar45") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }" (else "else") (compound_statement "{\nLAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);\n                      uVar48 = uVar44 | uVar45;\n                    }" ({ "{") (labeled_statement "LAB_00064624:\n                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);" (statement_identifier "LAB_00064624") (: ":") (expression_statement "uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);" (assignment_expression "uVar45 = (*DAT_000b9dd8)(uVar1,uVar27)" (identifier "uVar45") (= "=") (call_expression "(*DAT_000b9dd8)(uVar1,uVar27)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar1,uVar27)" (( "(") (identifier "uVar1") (, ",") (identifier "uVar27") () ")")))) (; ";"))) (expression_statement "uVar48 = uVar44 | uVar45;" (assignment_expression "uVar48 = uVar44 | uVar45" (identifier "uVar48") (= "=") (binary_expression "uVar44 | uVar45" (identifier "uVar44") (| "|") (identifier "uVar45"))) (; ";")) (} "}")))) (if_statement "if (uVar48 == 0) goto LAB_00064257;" (if "if") (parenthesized_expression "(uVar48 == 0)" (( "(") (binary_expression "uVar48 == 0" (identifier "uVar48") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00064257;" (goto "goto") (statement_identifier "LAB_00064257") (; ";"))) (} "}")) (else_clause "else {\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }" (else "else") (compound_statement "{\n                    if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }\n                    uVar26 = uVar38 - uVar36;\n                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;\n                    if (uVar21 != uVar38) goto LAB_0006460a;\nLAB_00064230:\n                    uVar44 = 0;\n                    uVar45 = 0;\nLAB_00064257:\n                    local_28 = uVar1 + uVar37;\n                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);\n                    if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }\n                  }" ({ "{") (if_statement "if (uVar38 <= uVar36) {\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }" (if "if") (parenthesized_expression "(uVar38 <= uVar36)" (( "(") (binary_expression "uVar38 <= uVar36" (identifier "uVar38") (<= "<=") (identifier "uVar36")) () ")")) (compound_statement "{\n                      if (uVar21 == uVar38) goto LAB_00064230;\nLAB_0006460a:\n                      uVar44 = 0;\n                      goto LAB_00064624;\n                    }" ({ "{") (if_statement "if (uVar21 == uVar38) goto LAB_00064230;" (if "if") (parenthesized_expression "(uVar21 == uVar38)" (( "(") (binary_expression "uVar21 == uVar38" (identifier "uVar21") (== "==") (identifier "uVar38")) () ")")) (goto_statement "goto LAB_00064230;" (goto "goto") (statement_identifier "LAB_00064230") (; ";"))) (labeled_statement "LAB_0006460a:\n                      uVar44 = 0;" (statement_identifier "LAB_0006460a") (: ":") (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" (identifier "uVar44") (= "=") (number_literal "0")) (; ";"))) (goto_statement "goto LAB_00064624;" (goto "goto") (statement_identifier "LAB_00064624") (; ";")) (} "}"))) (expression_statement "uVar26 = uVar38 - uVar36;" (assignment_expression "uVar26 = uVar38 - uVar36" (identifier "uVar26") (= "=") (binary_expression "uVar38 - uVar36" (identifier "uVar38") (- "-") (identifier "uVar36"))) (; ";")) (if_statement "if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;" (if "if") (parenthesized_expression "((uVar38 - uVar36) - 1 < 8)" (( "(") (binary_expression "(uVar38 - uVar36) - 1 < 8" (binary_expression "(uVar38 - uVar36) - 1" (parenthesized_expression "(uVar38 - uVar36)" (( "(") (binary_expression "uVar38 - uVar36" (identifier "uVar38") (- "-") (identifier "uVar36")) () ")")) (- "-") (number_literal "1")) (< "<") (number_literal "8")) () ")")) (goto_statement "goto LAB_00064528;" (goto "goto") (statement_identifier "LAB_00064528") (; ";"))) (if_statement "if (uVar21 != uVar38) goto LAB_0006460a;" (if "if") (parenthesized_expression "(uVar21 != uVar38)" (( "(") (binary_expression "uVar21 != uVar38" (identifier "uVar21") (!= "!=") (identifier "uVar38")) () ")")) (goto_statement "goto LAB_0006460a;" (goto "goto") (statement_identifier "LAB_0006460a") (; ";"))) (labeled_statement "LAB_00064230:\n                    uVar44 = 0;" (statement_identifier "LAB_00064230") (: ":") (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" (identifier "uVar44") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar45 = 0;" (assignment_expression "uVar45 = 0" (identifier "uVar45") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00064257:\n                    local_28 = uVar1 + uVar37;" (statement_identifier "LAB_00064257") (: ":") (expression_statement "local_28 = uVar1 + uVar37;" (assignment_expression "local_28 = uVar1 + uVar37" (identifier "local_28") (= "=") (binary_expression "uVar1 + uVar37" (identifier "uVar1") (+ "+") (identifier "uVar37"))) (; ";"))) (expression_statement "iVar24 = FUN_00045000(param_1,uVar25,iVar16);" (assignment_expression "iVar24 = FUN_00045000(param_1,uVar25,iVar16)" (identifier "iVar24") (= "=") (call_expression "FUN_00045000(param_1,uVar25,iVar16)" (identifier "FUN_00045000") (argument_list "(param_1,uVar25,iVar16)" (( "(") (identifier "param_1") (, ",") (identifier "uVar25") (, ",") (identifier "iVar16") () ")")))) (; ";")) (if_statement "if ((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }" (if "if") (parenthesized_expression "((iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0))" (( "(") (binary_expression "(iVar24 == 0) &&\n                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)" (parenthesized_expression "(iVar24 == 0)" (( "(") (binary_expression "iVar24 == 0" (identifier "iVar24") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)" (( "(") (comma_expression "iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0" (assignment_expression "iVar16 = FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25))" (identifier "iVar16") (= "=") (call_expression "FUN_00045000(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25))" (identifier "FUN_00045000") (argument_list "(param_1,uVar37 + uVar25,\n                                              iVar16 + (uint)CARRY4(uVar37,uVar25))" (( "(") (identifier "param_1") (, ",") (binary_expression "uVar37 + uVar25" (identifier "uVar37") (+ "+") (identifier "uVar25")) (, ",") (binary_expression "iVar16 + (uint)CARRY4(uVar37,uVar25)" (identifier "iVar16") (+ "+") (cast_expression "(uint)CARRY4(uVar37,uVar25)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar37,uVar25)" (identifier "CARRY4") (argument_list "(uVar37,uVar25)" (( "(") (identifier "uVar37") (, ",") (identifier "uVar25") () ")"))))) () ")")))) (, ",") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                      printf(pcVar14);\n                      goto LAB_000646df;\n                    }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<End of list>\n",5)" (identifier "dcgettext") (argument_list "(0,"<End of list>\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<End of list>\n"" (" """) (string_content "<End of list>") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (goto_statement "goto LAB_000646df;" (goto "goto") (statement_identifier "LAB_000646df") (; ";")) (} "}"))) (} "}")))) (expression_statement "local_d8 = (uint)(uVar45 >> 0x20);" (assignment_expression "local_d8 = (uint)(uVar45 >> 0x20)" (identifier "local_d8") (= "=") (call_expression "(uint)(uVar45 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar45 >> 0x20)" (( "(") (binary_expression "uVar45 >> 0x20" (identifier "uVar45") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_dc = (int *)uVar45;" (assignment_expression "local_dc = (int *)uVar45" (identifier "local_dc") (= "=") (cast_expression "(int *)uVar45" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar45"))) (; ";")) (expression_statement "local_100 = (uint)(uVar44 >> 0x20);" (assignment_expression "local_100 = (uint)(uVar44 >> 0x20)" (identifier "local_100") (= "=") (call_expression "(uint)(uVar44 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar44 >> 0x20)" (( "(") (binary_expression "uVar44 >> 0x20" (identifier "uVar44") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_104 = (uint)uVar44;" (assignment_expression "local_104 = (uint)uVar44" (identifier "local_104") (= "=") (cast_expression "(uint)uVar44" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar44"))) (; ";")) (expression_statement "uVar36 = uVar1 + uVar37;" (assignment_expression "uVar36 = uVar1 + uVar37" (identifier "uVar36") (= "=") (binary_expression "uVar1 + uVar37" (identifier "uVar1") (+ "+") (identifier "uVar37"))) (; ";")) (if_statement "if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }\n                  else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }" (if "if") (parenthesized_expression "(((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22))" (( "(") (binary_expression "((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&\n                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)" (parenthesized_expression "((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22)" (( "(") (binary_expression "(uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22" (binary_expression "(uVar23 & local_100) == uVar23" (parenthesized_expression "(uVar23 & local_100)" (( "(") (binary_expression "uVar23 & local_100" (identifier "uVar23") (& "&") (identifier "local_100")) () ")")) (== "==") (identifier "uVar23")) (&& "&&") (binary_expression "(uVar22 & local_104) == uVar22" (parenthesized_expression "(uVar22 & local_104)" (( "(") (binary_expression "uVar22 & local_104" (identifier "uVar22") (& "&") (identifier "local_104")) () ")")) (== "==") (identifier "uVar22"))) () ")")) (&& "&&") (parenthesized_expression "((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)" (( "(") (binary_expression "(uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22" (binary_expression "(uVar23 & local_d8) != uVar23" (parenthesized_expression "(uVar23 & local_d8)" (( "(") (binary_expression "uVar23 & local_d8" (identifier "uVar23") (& "&") (identifier "local_d8")) () ")")) (!= "!=") (identifier "uVar23")) (|| "||") (binary_expression "(uVar22 & (uint)local_dc) != uVar22" (parenthesized_expression "(uVar22 & (uint)local_dc)" (( "(") (binary_expression "uVar22 & (uint)local_dc" (identifier "uVar22") (& "&") (cast_expression "(uint)local_dc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_dc"))) () ")")) (!= "!=") (identifier "uVar22"))) () ")"))) () ")")) (compound_statement "{\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);\n                    printf(pcVar14);\n                  }" ({ "{") (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" (identifier "FUN_0004ce60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" (identifier "FUN_0004ce60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar14 = (char *)dcgettext(0,"(base address)\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"(base address)\n",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"(base address)\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"(base address)\n",5)" (identifier "dcgettext") (argument_list "(0,"(base address)\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""(base address)\n"" (" """) (string_content "(base address)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }" (else "else") (compound_statement "{\n                    local_28 = uVar36;\n                    if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }\n                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);\n                    local_ac = (uint)lVar46;\n                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);\n                    local_bc = (uint)lVar43;\n                    local_28 = uVar36 + 2;\n                    if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }\n                    FUN_0004ce60();\n                    FUN_0004ce60();\n                    putc(0x28,*(FILE **)puVar7);\n                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);\n                    putc(0x29,*(FILE **)puVar7);\n                    if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }\n                    pFVar35 = *(FILE **)puVar7;\n                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    putc(10,pFVar35);\n                  }" ({ "{") (expression_statement "local_28 = uVar36;" (assignment_expression "local_28 = uVar36" (identifier "local_28") (= "=") (identifier "uVar36")) (; ";")) (if_statement "if (local_7c == 0) {\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }\n                    else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }" (if "if") (parenthesized_expression "(local_7c == 0)" (( "(") (binary_expression "local_7c == 0" (identifier "local_7c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      lVar46 = -1;\n                      lVar43 = -1;\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 < uVar36 + 2) break;\n                    }" ({ "{") (expression_statement "lVar46 = -1;" (assignment_expression "lVar46 = -1" (identifier "lVar46") (= "=") (number_literal "-1")) (; ";")) (expression_statement "lVar43 = -1;" (assignment_expression "lVar43 = -1" (identifier "lVar43") (= "=") (number_literal "-1")) (; ";")) (expression_statement "bVar42 = uVar36 + 2 == uVar38;" (assignment_expression "bVar42 = uVar36 + 2 == uVar38" (identifier "bVar42") (= "=") (binary_expression "uVar36 + 2 == uVar38" (binary_expression "uVar36 + 2" (identifier "uVar36") (+ "+") (number_literal "2")) (== "==") (identifier "uVar38"))) (; ";")) (if_statement "if (uVar38 < uVar36 + 2) break;" (if "if") (parenthesized_expression "(uVar38 < uVar36 + 2)" (( "(") (binary_expression "uVar38 < uVar36 + 2" (identifier "uVar38") (< "<") (binary_expression "uVar36 + 2" (identifier "uVar36") (+ "+") (number_literal "2"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (else_clause "else {\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }" (else "else") (compound_statement "{\n                      iVar16 = local_7c - uVar39;\n                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);\n                      iVar24 = local_7c + local_20[0];\n                      FUN_0004ea80();\n                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);\n                      local_7c = iVar24 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);\n                      bVar42 = uVar36 + 2 == uVar38;\n                      if (uVar38 <= uVar36 + 2 && !bVar42) break;\n                    }" ({ "{") (expression_statement "iVar16 = local_7c - uVar39;" (assignment_expression "iVar16 = local_7c - uVar39" (identifier "iVar16") (= "=") (binary_expression "local_7c - uVar39" (identifier "local_7c") (- "-") (identifier "uVar39"))) (; ";")) (expression_statement "lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);" (assignment_expression "lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38)" (identifier "lVar43") (= "=") (call_expression "FUN_0004f990(local_7c,local_20,0,uVar38)" (identifier "FUN_0004f990") (argument_list "(local_7c,local_20,0,uVar38)" (( "(") (identifier "local_7c") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar38") () ")")))) (; ";")) (expression_statement "iVar24 = local_7c + local_20[0];" (assignment_expression "iVar24 = local_7c + local_20[0]" (identifier "iVar24") (= "=") (binary_expression "local_7c + local_20[0]" (identifier "local_7c") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" (identifier "FUN_0004ea80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);" (assignment_expression "lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38)" (identifier "lVar46") (= "=") (call_expression "FUN_0004f990(iVar24,local_20,0,uVar38)" (identifier "FUN_0004f990") (argument_list "(iVar24,local_20,0,uVar38)" (( "(") (identifier "iVar24") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar38") () ")")))) (; ";")) (expression_statement "local_7c = iVar24 + local_20[0];" (assignment_expression "local_7c = iVar24 + local_20[0]" (identifier "local_7c") (= "=") (binary_expression "iVar24 + local_20[0]" (identifier "iVar24") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" (identifier "FUN_0004ea80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" (identifier "dcgettext") (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""views at %8.8lx for:\n    %*s "" (" """) (string_content "views at %8.8lx for:") (escape_sequence "\n") (string_content "    %*s ") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55)" (identifier "printf") (argument_list "(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55)" (( "(") (identifier "pcVar14") (, ",") (binary_expression "iVar16 + local_10c" (identifier "iVar16") (+ "+") (identifier "local_10c")) (, ",") (number_literal "8") (, ",") (pointer_expression "&DAT_0007bc55" (& "&") (identifier "DAT_0007bc55")) () ")"))) (; ";")) (expression_statement "bVar42 = uVar36 + 2 == uVar38;" (assignment_expression "bVar42 = uVar36 + 2 == uVar38" (identifier "bVar42") (= "=") (binary_expression "uVar36 + 2 == uVar38" (binary_expression "uVar36 + 2" (identifier "uVar36") (+ "+") (number_literal "2")) (== "==") (identifier "uVar38"))) (; ";")) (if_statement "if (uVar38 <= uVar36 + 2 && !bVar42) break;" (if "if") (parenthesized_expression "(uVar38 <= uVar36 + 2 && !bVar42)" (( "(") (binary_expression "uVar38 <= uVar36 + 2 && !bVar42" (binary_expression "uVar38 <= uVar36 + 2" (identifier "uVar38") (<= "<=") (binary_expression "uVar36 + 2" (identifier "uVar36") (+ "+") (number_literal "2"))) (&& "&&") (unary_expression "!bVar42" (! "!") (identifier "bVar42"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")))) (expression_statement "local_a4 = (uint)((ulonglong)lVar46 >> 0x20);" (assignment_expression "local_a4 = (uint)((ulonglong)lVar46 >> 0x20)" (identifier "local_a4") (= "=") (call_expression "(uint)((ulonglong)lVar46 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar46 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar46 >> 0x20" (cast_expression "(ulonglong)lVar46" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar46")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_ac = (uint)lVar46;" (assignment_expression "local_ac = (uint)lVar46" (identifier "local_ac") (= "=") (cast_expression "(uint)lVar46" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar46"))) (; ";")) (expression_statement "local_b0 = (uint)((ulonglong)lVar43 >> 0x20);" (assignment_expression "local_b0 = (uint)((ulonglong)lVar43 >> 0x20)" (identifier "local_b0") (= "=") (call_expression "(uint)((ulonglong)lVar43 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar43 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar43 >> 0x20" (cast_expression "(ulonglong)lVar43" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar43")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_bc = (uint)lVar43;" (assignment_expression "local_bc = (uint)lVar43" (identifier "local_bc") (= "=") (cast_expression "(uint)lVar43" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar43"))) (; ";")) (expression_statement "local_28 = uVar36 + 2;" (assignment_expression "local_28 = uVar36 + 2" (identifier "local_28") (= "=") (binary_expression "uVar36 + 2" (identifier "uVar36") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((bVar42) && (uVar38 <= uVar36)) {\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }\n                    else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }" (if "if") (parenthesized_expression "((bVar42) && (uVar38 <= uVar36))" (( "(") (binary_expression "(bVar42) && (uVar38 <= uVar36)" (parenthesized_expression "(bVar42)" (( "(") (identifier "bVar42") () ")")) (&& "&&") (parenthesized_expression "(uVar38 <= uVar36)" (( "(") (binary_expression "uVar38 <= uVar36" (identifier "uVar38") (<= "<=") (identifier "uVar36")) () ")"))) () ")")) (compound_statement "{\n                      uVar10 = 0;\n                      uVar36 = uVar38;\n                    }" ({ "{") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar36 = uVar38;" (assignment_expression "uVar36 = uVar38" (identifier "uVar36") (= "=") (identifier "uVar38")) (; ";")) (} "}")) (else_clause "else {\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }" (else "else") (compound_statement "{\n                      uVar10 = (*DAT_000b9dd8)(uVar36,2);\n                      uVar36 = uVar10 + local_28;\n                      if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }\n                    }" ({ "{") (expression_statement "uVar10 = (*DAT_000b9dd8)(uVar36,2);" (assignment_expression "uVar10 = (*DAT_000b9dd8)(uVar36,2)" (identifier "uVar10") (= "=") (call_expression "(*DAT_000b9dd8)(uVar36,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar36,2)" (( "(") (identifier "uVar36") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar36 = uVar10 + local_28;" (assignment_expression "uVar36 = uVar10 + local_28" (identifier "uVar36") (= "=") (binary_expression "uVar10 + local_28" (identifier "uVar10") (+ "+") (identifier "local_28"))) (; ";")) (if_statement "if (uVar38 < uVar36) {\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }" (if "if") (parenthesized_expression "(uVar38 < uVar36)" (( "(") (binary_expression "uVar38 < uVar36" (identifier "uVar38") (< "<") (identifier "uVar36")) () ")")) (compound_statement "{\n                        uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);\n                        warn(uVar15,local_10c);\n                        goto LAB_000646df;\n                      }" ({ "{") (expression_statement "uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5)" (identifier "dcgettext") (argument_list "(0,\n                                           "Location list starting at offset 0x%lx is not terminated.\n"\n                                           ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" (" """) (string_content "Location list starting at offset 0x%lx is not terminated.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" (identifier "warn") (argument_list "(uVar15,local_10c)" (( "(") (identifier "uVar15") (, ",") (identifier "local_10c") () ")"))) (; ";")) (goto_statement "goto LAB_000646df;" (goto "goto") (statement_identifier "LAB_000646df") (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" (identifier "FUN_0004ce60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" (identifier "FUN_0004ce60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "putc(0x28,*(FILE **)puVar7);" (call_expression "putc(0x28,*(FILE **)puVar7)" (identifier "putc") (argument_list "(0x28,*(FILE **)puVar7)" (( "(") (number_literal "0x28") (, ",") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (expression_statement "iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);" (assignment_expression "iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1)" (identifier "iVar16") (= "=") (call_expression "FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1)" (identifier "FUN_0004ff30") (argument_list "(uVar4,uVar10,0,uVar33,0,param_1)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar10") (, ",") (number_literal "0") (, ",") (identifier "uVar33") (, ",") (number_literal "0") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "putc(0x29,*(FILE **)puVar7);" (call_expression "putc(0x29,*(FILE **)puVar7)" (identifier "putc") (argument_list "(0x29,*(FILE **)puVar7)" (( "(") (number_literal "0x29") (, ",") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (if_statement "if ((iVar16 != 0) && (iVar34 == 0)) {\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }" (if "if") (parenthesized_expression "((iVar16 != 0) && (iVar34 == 0))" (( "(") (binary_expression "(iVar16 != 0) && (iVar34 == 0)" (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar34 == 0)" (( "(") (binary_expression "iVar34 == 0" (identifier "iVar34") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                      printf(pcVar14);\n                    }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" (identifier "dcgettext") (argument_list "(0," [without DW_AT_frame_base]",5)" (( "(") (number_literal "0") (, ",") (string_literal "" [without DW_AT_frame_base]"" (" """) (string_content " [without DW_AT_frame_base]") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (} "}"))) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" (identifier "pFVar35") (= "=") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7")))) (; ";")) (if_statement "if ((lVar43 == lVar46) && (uVar44 == uVar45)) {\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }\n                    else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" (if "if") (parenthesized_expression "((lVar43 == lVar46) && (uVar44 == uVar45))" (( "(") (binary_expression "(lVar43 == lVar46) && (uVar44 == uVar45)" (parenthesized_expression "(lVar43 == lVar46)" (( "(") (binary_expression "lVar43 == lVar46" (identifier "lVar43") (== "==") (identifier "lVar46")) () ")")) (&& "&&") (parenthesized_expression "(uVar44 == uVar45)" (( "(") (binary_expression "uVar44 == uVar45" (identifier "uVar44") (== "==") (identifier "uVar45")) () ")"))) () ")")) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0," (start == end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start == end)",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0," (start == end)",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," (start == end)",5)" (identifier "dcgettext") (argument_list "(0," (start == end)",5)" (( "(") (number_literal "0") (, ",") (string_literal "" (start == end)"" (" """) (string_content " (start == end)") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" (identifier "fputs") (argument_list "(pcVar14,pFVar35)" (( "(") (identifier "pcVar14") (, ",") (identifier "pFVar35") () ")"))) (; ";")) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" (identifier "pFVar35") (= "=") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7")))) (; ";")) (} "}")) (else_clause "else if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" (else "else") (if_statement "if ((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))) {\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" (if "if") (parenthesized_expression "((local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45))))" (( "(") (binary_expression "(local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||\n                            ((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))" (parenthesized_expression "(local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104))" (( "(") (binary_expression "local_d8 < local_100 ||\n                              local_d8 - local_100 < (uint)(local_dc < local_104)" (binary_expression "local_d8 < local_100" (identifier "local_d8") (< "<") (identifier "local_100")) (|| "||") (binary_expression "local_d8 - local_100 < (uint)(local_dc < local_104)" (binary_expression "local_d8 - local_100" (identifier "local_d8") (- "-") (identifier "local_100")) (< "<") (call_expression "(uint)(local_dc < local_104)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_dc < local_104)" (( "(") (binary_expression "local_dc < local_104" (identifier "local_dc") (< "<") (identifier "local_104")) () ")"))))) () ")")) (|| "||") (parenthesized_expression "((local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)))" (( "(") (parenthesized_expression "(local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45))" (( "(") (binary_expression "local_a4 < local_b0 ||\n                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)" (binary_expression "local_a4 < local_b0" (identifier "local_a4") (< "<") (identifier "local_b0")) (|| "||") (binary_expression "local_a4 - local_b0 < (uint)(local_ac < local_bc) &&\n                             (uVar44 == uVar45)" (binary_expression "local_a4 - local_b0 < (uint)(local_ac < local_bc)" (binary_expression "local_a4 - local_b0" (identifier "local_a4") (- "-") (identifier "local_b0")) (< "<") (call_expression "(uint)(local_ac < local_bc)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_ac < local_bc)" (( "(") (binary_expression "local_ac < local_bc" (identifier "local_ac") (< "<") (identifier "local_bc")) () ")")))) (&& "&&") (parenthesized_expression "(uVar44 == uVar45)" (( "(") (binary_expression "uVar44 == uVar45" (identifier "uVar44") (== "==") (identifier "uVar45")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                      fputs(pcVar14,pFVar35);\n                      pFVar35 = *(FILE **)puVar7;\n                    }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0," (start > end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start > end)",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0," (start > end)",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," (start > end)",5)" (identifier "dcgettext") (argument_list "(0," (start > end)",5)" (( "(") (number_literal "0") (, ",") (string_literal "" (start > end)"" (" """) (string_content " (start > end)") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" (identifier "fputs") (argument_list "(pcVar14,pFVar35)" (( "(") (identifier "pcVar14") (, ",") (identifier "pFVar35") () ")"))) (; ";")) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" (identifier "pFVar35") (= "=") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7")))) (; ";")) (} "}"))))) (expression_statement "putc(10,pFVar35);" (call_expression "putc(10,pFVar35)" (identifier "putc") (argument_list "(10,pFVar35)" (( "(") (number_literal "10") (, ",") (identifier "pFVar35") () ")"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  );" (assignment_expression "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  )" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  )" (identifier "dcgettext") (argument_list "(0,"Location list starting at offset 0x%lx is not terminated.\n",5\n                                  )" (( "(") (number_literal "0") (, ",") (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" (" """) (string_content "Location list starting at offset 0x%lx is not terminated.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" (identifier "warn") (argument_list "(uVar15,local_10c)" (( "(") (identifier "uVar15") (, ",") (identifier "local_10c") () ")"))) (; ";")) (labeled_statement "LAB_000646df:\n                local_24 = local_7c;" (statement_identifier "LAB_000646df") (: ":") (expression_statement "local_24 = local_7c;" (assignment_expression "local_24 = local_7c" (identifier "local_24") (= "=") (identifier "local_7c")) (; ";"))) (} "}")) (else_clause "else {\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }" (else "else") (compound_statement "{\n                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n                warn(uVar15,uVar37,local_8c);\n              }" ({ "{") (expression_statement "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" (identifier "dcgettext") (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" (" """) (string_content "Invalid pointer size (%d) in debug info for entry %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,uVar37,local_8c);" (call_expression "warn(uVar15,uVar37,local_8c)" (identifier "warn") (argument_list "(uVar15,uVar37,local_8c)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar37") (, ",") (identifier "local_8c") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" (else "else") (if_statement "if (local_8c < DAT_000b9d6c) {\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n            else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" (if "if") (parenthesized_expression "(local_8c < DAT_000b9d6c)" (( "(") (binary_expression "local_8c < DAT_000b9d6c" (identifier "local_8c") (< "<") (identifier "DAT_000b9d6c")) () ")")) (compound_statement "{\n              piVar17 = (int *)(iVar31 + DAT_000b9d64);\n              iVar16 = *piVar17;\n              if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" ({ "{") (expression_statement "piVar17 = (int *)(iVar31 + DAT_000b9d64);" (assignment_expression "piVar17 = (int *)(iVar31 + DAT_000b9d64)" (identifier "piVar17") (= "=") (cast_expression "(int *)(iVar31 + DAT_000b9d64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + DAT_000b9d64)" (( "(") (binary_expression "iVar31 + DAT_000b9d64" (identifier "iVar31") (+ "+") (identifier "DAT_000b9d64")) () ")")))) (; ";")) (expression_statement "iVar16 = *piVar17;" (assignment_expression "iVar16 = *piVar17" (identifier "iVar16") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (if_statement "if (iVar16 - 2U < 7) {\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }" (if "if") (parenthesized_expression "(iVar16 - 2U < 7)" (( "(") (binary_expression "iVar16 - 2U < 7" (binary_expression "iVar16 - 2U" (identifier "iVar16") (- "-") (number_literal "2U")) (< "<") (number_literal "7")) () ")")) (compound_statement "{\n                iVar16 = piVar17[3];\n                iVar24 = piVar17[2];\n                local_104 = local_ec;\n                uVar37 = uVar39;\ncode_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );\n              }" ({ "{") (expression_statement "iVar16 = piVar17[3];" (assignment_expression "iVar16 = piVar17[3]" (identifier "iVar16") (= "=") (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar24 = piVar17[2];" (assignment_expression "iVar24 = piVar17[2]" (identifier "iVar24") (= "=") (subscript_expression "piVar17[2]" (identifier "piVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_104 = local_ec;" (assignment_expression "local_104 = local_ec" (identifier "local_104") (= "=") (identifier "local_ec")) (; ";")) (expression_statement "uVar37 = uVar39;" (assignment_expression "uVar37 = uVar39" (identifier "uVar37") (= "=") (identifier "uVar39")) (; ";")) (labeled_statement "code_r0x00063ec0:\n                do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );" (statement_identifier "code_r0x00063ec0") (: ":") (do_statement "do {\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                } while( true );" (do "do") (compound_statement "{\n                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));\n                  if (uVar38 <= uVar37) goto LAB_00064ec7;\n                  local_28 = uVar37 + 1;\n                  uVar36 = local_68;\n                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }\n                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);\n                  if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }\n                  switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }\n                  local_28 = uVar37 + 2;\n                  if (uVar38 < local_28) goto LAB_00064ec7;\n                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  putc(10,*(FILE **)puVar7);\n                }" ({ "{") (expression_statement "printf("    %8.8lx ",local_10c + (uVar37 - uVar39));" (call_expression "printf("    %8.8lx ",local_10c + (uVar37 - uVar39))" (identifier "printf") (argument_list "("    %8.8lx ",local_10c + (uVar37 - uVar39))" (( "(") (string_literal ""    %8.8lx "" (" """) (string_content "    %8.8lx ") (" """)) (, ",") (binary_expression "local_10c + (uVar37 - uVar39)" (identifier "local_10c") (+ "+") (parenthesized_expression "(uVar37 - uVar39)" (( "(") (binary_expression "uVar37 - uVar39" (identifier "uVar37") (- "-") (identifier "uVar39")) () ")"))) () ")"))) (; ";")) (if_statement "if (uVar38 <= uVar37) goto LAB_00064ec7;" (if "if") (parenthesized_expression "(uVar38 <= uVar37)" (( "(") (binary_expression "uVar38 <= uVar37" (identifier "uVar38") (<= "<=") (identifier "uVar37")) () ")")) (goto_statement "goto LAB_00064ec7;" (goto "goto") (statement_identifier "LAB_00064ec7") (; ";"))) (expression_statement "local_28 = uVar37 + 1;" (assignment_expression "local_28 = uVar37 + 1" (identifier "local_28") (= "=") (binary_expression "uVar37 + 1" (identifier "uVar37") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar36 = local_68;" (assignment_expression "uVar36 = local_68" (identifier "uVar36") (= "=") (identifier "local_68")) (; ";")) (if_statement "if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))\n                  {\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }" (if "if") (parenthesized_expression "((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))" (( "(") (binary_expression "(uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1)" (parenthesized_expression "(uVar38 <= local_28)" (( "(") (binary_expression "uVar38 <= local_28" (identifier "uVar38") (<= "<=") (identifier "local_28")) () ")")) (&& "&&") (parenthesized_expression "(uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1)" (( "(") (comma_expression "uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1" (assignment_expression "uVar36 = uVar38 - uVar37" (identifier "uVar36") (= "=") (binary_expression "uVar38 - uVar37" (identifier "uVar38") (- "-") (identifier "uVar37"))) (, ",") (binary_expression "7 < (uVar38 - uVar37) - 1" (number_literal "7") (< "<") (binary_expression "(uVar38 - uVar37) - 1" (parenthesized_expression "(uVar38 - uVar37)" (( "(") (binary_expression "uVar38 - uVar37" (identifier "uVar38") (- "-") (identifier "uVar37")) () ")")) (- "-") (number_literal "1")))) () ")"))) () ")")) (compound_statement "{\ncode_r0x00063f01:\n                    local_24 = local_104;\n                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                    printf(pcVar14);\n                    goto LAB_000637dc;\n                  }" ({ "{") (labeled_statement "code_r0x00063f01:\n                    local_24 = local_104;" (statement_identifier "code_r0x00063f01") (: ":") (expression_statement "local_24 = local_104;" (assignment_expression "local_24 = local_104" (identifier "local_24") (= "=") (identifier "local_104")) (; ";"))) (expression_statement "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<End of list>\n",5)" (identifier "dcgettext") (argument_list "(0,"<End of list>\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<End of list>\n"" (" """) (string_content "<End of list>") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (goto_statement "goto LAB_000637dc;" (goto "goto") (statement_identifier "LAB_000637dc") (; ";")) (} "}"))) (expression_statement "iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);" (assignment_expression "iVar28 = (*DAT_000b9dd8)(uVar37,uVar36)" (identifier "iVar28") (= "=") (call_expression "(*DAT_000b9dd8)(uVar37,uVar36)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar37,uVar36)" (( "(") (identifier "uVar37") (, ",") (identifier "uVar36") () ")")))) (; ";")) (if_statement "if (local_104 != 0) {\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }" (if "if") (parenthesized_expression "(local_104 != 0)" (( "(") (binary_expression "local_104 != 0" (identifier "local_104") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }\nLAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);\n                    warn(uVar15,iVar28);\n                    local_24 = local_104;\n                    goto LAB_000637dc;\n                  }" ({ "{") (if_statement "if (iVar28 - 2U < 3) {\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }\n                    else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }" (if "if") (parenthesized_expression "(iVar28 - 2U < 3)" (( "(") (binary_expression "iVar28 - 2U < 3" (binary_expression "iVar28 - 2U" (identifier "iVar28") (- "-") (number_literal "2U")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n                      iVar18 = local_104 - uVar39;\n                      FUN_0004f990(local_104,local_20,0,uVar38);\n                      iVar32 = local_104 + local_20[0];\n                      FUN_0004ea80();\n                      FUN_0004f990(iVar32,local_20,0,uVar38);\n                      local_104 = iVar32 + local_20[0];\n                      FUN_0004ea80();\n                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\n                      switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }\n                    }" ({ "{") (expression_statement "iVar18 = local_104 - uVar39;" (assignment_expression "iVar18 = local_104 - uVar39" (identifier "iVar18") (= "=") (binary_expression "local_104 - uVar39" (identifier "local_104") (- "-") (identifier "uVar39"))) (; ";")) (expression_statement "FUN_0004f990(local_104,local_20,0,uVar38);" (call_expression "FUN_0004f990(local_104,local_20,0,uVar38)" (identifier "FUN_0004f990") (argument_list "(local_104,local_20,0,uVar38)" (( "(") (identifier "local_104") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar38") () ")"))) (; ";")) (expression_statement "iVar32 = local_104 + local_20[0];" (assignment_expression "iVar32 = local_104 + local_20[0]" (identifier "iVar32") (= "=") (binary_expression "local_104 + local_20[0]" (identifier "local_104") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" (identifier "FUN_0004ea80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004f990(iVar32,local_20,0,uVar38);" (call_expression "FUN_0004f990(iVar32,local_20,0,uVar38)" (identifier "FUN_0004f990") (argument_list "(iVar32,local_20,0,uVar38)" (( "(") (identifier "iVar32") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar38") () ")"))) (; ";")) (expression_statement "local_104 = iVar32 + local_20[0];" (assignment_expression "local_104 = iVar32 + local_20[0]" (identifier "local_104") (= "=") (binary_expression "iVar32 + local_20[0]" (identifier "iVar32") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" (identifier "FUN_0004ea80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" (identifier "dcgettext") (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""views at %8.8lx for:\n    %*s "" (" """) (string_content "views at %8.8lx for:") (escape_sequence "\n") (string_content "    %*s ") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" (identifier "printf") (argument_list "(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" (( "(") (identifier "pcVar14") (, ",") (binary_expression "iVar18 + local_10c" (identifier "iVar18") (+ "+") (identifier "local_10c")) (, ",") (number_literal "8") (, ",") (pointer_expression "&DAT_0007bc55" (& "&") (identifier "DAT_0007bc55")) () ")"))) (; ";")) (switch_statement "switch(iVar28) {\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }" (switch "switch") (parenthesized_expression "(iVar28)" (( "(") (identifier "iVar28") () ")")) (compound_statement "{\n                      case 2:\n                        goto code_r0x00064a4b;\n                      case 3:\n                        goto code_r0x000648fb;\n                      case 4:\n                        goto code_r0x00064a90;\n                      }" ({ "{") (case_statement "case 2:\n                        goto code_r0x00064a4b;" (case "case") (number_literal "2") (: ":") (goto_statement "goto code_r0x00064a4b;" (goto "goto") (statement_identifier "code_r0x00064a4b") (; ";"))) (case_statement "case 3:\n                        goto code_r0x000648fb;" (case "case") (number_literal "3") (: ":") (goto_statement "goto code_r0x000648fb;" (goto "goto") (statement_identifier "code_r0x000648fb") (; ";"))) (case_statement "case 4:\n                        goto code_r0x00064a90;" (case "case") (number_literal "4") (: ":") (goto_statement "goto code_r0x00064a90;" (goto "goto") (statement_identifier "code_r0x00064a90") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }" (else "else") (compound_statement "{\n                      switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }\n                    }" ({ "{") (switch_statement "switch(iVar28) {\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }" (switch "switch") (parenthesized_expression "(iVar28)" (( "(") (identifier "iVar28") () ")")) (compound_statement "{\n                      case 0:\n                        goto code_r0x00063f01;\n                      case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;\n                      }" ({ "{") (case_statement "case 0:\n                        goto code_r0x00063f01;" (case "case") (number_literal "0") (: ":") (goto_statement "goto code_r0x00063f01;" (goto "goto") (statement_identifier "code_r0x00063f01") (; ";"))) (case_statement "case 1:\n                        FUN_0004f990(local_28,local_20,0,uVar38);\n                        iVar28 = local_20[0];\n                        FUN_0004ea40();\n                        uVar15 = 0x15;\n                        goto code_r0x00064b2b;" (case "case") (number_literal "1") (: ":") (expression_statement "FUN_0004f990(local_28,local_20,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_20,0,uVar38)" (identifier "FUN_0004f990") (argument_list "(local_28,local_20,0,uVar38)" (( "(") (identifier "local_28") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar38") () ")"))) (; ";")) (expression_statement "iVar28 = local_20[0];" (assignment_expression "iVar28 = local_20[0]" (identifier "iVar28") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" (identifier "FUN_0004ea40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar15 = 0x15;" (assignment_expression "uVar15 = 0x15" (identifier "uVar15") (= "=") (number_literal "0x15")) (; ";")) (goto_statement "goto code_r0x00064b2b;" (goto "goto") (statement_identifier "code_r0x00064b2b") (; ";"))) (} "}"))) (} "}")))) (labeled_statement "LAB_00064cd8:\n                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);" (statement_identifier "LAB_00064cd8") (: ":") (expression_statement "uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"Unknown location list entry type 0x%x.\n",5)" (identifier "dcgettext") (argument_list "(0,"Unknown location list entry type 0x%x.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unknown location list entry type 0x%x.\n"" (" """) (string_content "Unknown location list entry type 0x%x.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "warn(uVar15,iVar28);" (call_expression "warn(uVar15,iVar28)" (identifier "warn") (argument_list "(uVar15,iVar28)" (( "(") (identifier "uVar15") (, ",") (identifier "iVar28") () ")"))) (; ";")) (expression_statement "local_24 = local_104;" (assignment_expression "local_24 = local_104" (identifier "local_24") (= "=") (identifier "local_104")) (; ";")) (goto_statement "goto LAB_000637dc;" (goto "goto") (statement_identifier "LAB_000637dc") (; ";")) (} "}"))) (switch_statement "switch(iVar28) {\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }" (switch "switch") (parenthesized_expression "(iVar28)" (( "(") (identifier "iVar28") () ")")) (compound_statement "{\n                  case 0:\n                    goto code_r0x00063f01;\n                  case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;\n                  case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;\n                  case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;\n                  case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;\n                  default:\n                    goto LAB_00064cd8;\n                  }" ({ "{") (case_statement "case 0:\n                    goto code_r0x00063f01;" (case "case") (number_literal "0") (: ":") (goto_statement "goto code_r0x00063f01;" (goto "goto") (statement_identifier "code_r0x00063f01") (; ";"))) (case_statement "case 1:\n                    FUN_0004f990(local_28,local_20,0,uVar38);\n                    iVar28 = local_20[0];\n                    FUN_0004ea40();\n                    uVar15 = 9;\ncode_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;\n                    printf("%*s",uVar15,&DAT_0007bc55);\n                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);\n                    printf(pcVar14);\n                    goto code_r0x00063ec0;" (case "case") (number_literal "1") (: ":") (expression_statement "FUN_0004f990(local_28,local_20,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_20,0,uVar38)" (identifier "FUN_0004f990") (argument_list "(local_28,local_20,0,uVar38)" (( "(") (identifier "local_28") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar38") () ")"))) (; ";")) (expression_statement "iVar28 = local_20[0];" (assignment_expression "iVar28 = local_20[0]" (identifier "iVar28") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" (identifier "FUN_0004ea40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar15 = 9;" (assignment_expression "uVar15 = 9" (identifier "uVar15") (= "=") (number_literal "9")) (; ";")) (labeled_statement "code_r0x00064b2b:\n                    uVar37 = iVar28 + local_28;" (statement_identifier "code_r0x00064b2b") (: ":") (expression_statement "uVar37 = iVar28 + local_28;" (assignment_expression "uVar37 = iVar28 + local_28" (identifier "uVar37") (= "=") (binary_expression "iVar28 + local_28" (identifier "iVar28") (+ "+") (identifier "local_28"))) (; ";"))) (expression_statement "printf("%*s",uVar15,&DAT_0007bc55);" (call_expression "printf("%*s",uVar15,&DAT_0007bc55)" (identifier "printf") (argument_list "("%*s",uVar15,&DAT_0007bc55)" (( "(") (string_literal ""%*s"" (" """) (string_content "%*s") (" """)) (, ",") (identifier "uVar15") (, ",") (pointer_expression "&DAT_0007bc55" (& "&") (identifier "DAT_0007bc55")) () ")"))) (; ";")) (expression_statement "pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"(base address selection entry)\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"(base address selection entry)\n",5)" (identifier "dcgettext") (argument_list "(0,"(base address selection entry)\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""(base address selection entry)\n"" (" """) (string_content "(base address selection entry)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (goto_statement "goto code_r0x00063ec0;" (goto "goto") (statement_identifier "code_r0x00063ec0") (; ";"))) (case_statement "case 2:\ncode_r0x00064a4b:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    iVar28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    FUN_0004f990(iVar28,local_dc,0,uVar38);\n                    uVar37 = local_20[0] + iVar28;\n                    FUN_0004ea40();\n                    break;" (case "case") (number_literal "2") (: ":") (labeled_statement "code_r0x00064a4b:\n                    local_dc = local_20;" (statement_identifier "code_r0x00064a4b") (: ":") (expression_statement "local_dc = local_20;" (assignment_expression "local_dc = local_20" (identifier "local_dc") (= "=") (identifier "local_20")) (; ";"))) (expression_statement "FUN_0004f990(local_28,local_dc,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_dc,0,uVar38)" (identifier "FUN_0004f990") (argument_list "(local_28,local_dc,0,uVar38)" (( "(") (identifier "local_28") (, ",") (identifier "local_dc") (, ",") (number_literal "0") (, ",") (identifier "uVar38") () ")"))) (; ";")) (expression_statement "iVar28 = local_28 + local_20[0];" (assignment_expression "iVar28 = local_28 + local_20[0]" (identifier "iVar28") (= "=") (binary_expression "local_28 + local_20[0]" (identifier "local_28") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" (identifier "FUN_0004ea40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004f990(iVar28,local_dc,0,uVar38);" (call_expression "FUN_0004f990(iVar28,local_dc,0,uVar38)" (identifier "FUN_0004f990") (argument_list "(iVar28,local_dc,0,uVar38)" (( "(") (identifier "iVar28") (, ",") (identifier "local_dc") (, ",") (number_literal "0") (, ",") (identifier "uVar38") () ")"))) (; ";")) (expression_statement "uVar37 = local_20[0] + iVar28;" (assignment_expression "uVar37 = local_20[0] + iVar28" (identifier "uVar37") (= "=") (binary_expression "local_20[0] + iVar28" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (+ "+") (identifier "iVar28"))) (; ";")) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" (identifier "FUN_0004ea40") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\ncode_r0x000648fb:\n                    local_dc = local_20;\n                    FUN_0004f990(local_28,local_dc,0,uVar38);\n                    local_28 = local_28 + local_20[0];\n                    FUN_0004ea40();\n                    uVar37 = local_28 + 4;\n                    if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }\n                    printf("%08x ",uVar15);\n                    break;" (case "case") (number_literal "3") (: ":") (labeled_statement "code_r0x000648fb:\n                    local_dc = local_20;" (statement_identifier "code_r0x000648fb") (: ":") (expression_statement "local_dc = local_20;" (assignment_expression "local_dc = local_20" (identifier "local_dc") (= "=") (identifier "local_20")) (; ";"))) (expression_statement "FUN_0004f990(local_28,local_dc,0,uVar38);" (call_expression "FUN_0004f990(local_28,local_dc,0,uVar38)" (identifier "FUN_0004f990") (argument_list "(local_28,local_dc,0,uVar38)" (( "(") (identifier "local_28") (, ",") (identifier "local_dc") (, ",") (number_literal "0") (, ",") (identifier "uVar38") () ")"))) (; ";")) (expression_statement "local_28 = local_28 + local_20[0];" (assignment_expression "local_28 = local_28 + local_20[0]" (identifier "local_28") (= "=") (binary_expression "local_28 + local_20[0]" (identifier "local_28") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ea40();" (call_expression "FUN_0004ea40()" (identifier "FUN_0004ea40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar37 = local_28 + 4;" (assignment_expression "uVar37 = local_28 + 4" (identifier "uVar37") (= "=") (binary_expression "local_28 + 4" (identifier "local_28") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (uVar37 < uVar38) {\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }\n                    else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }" (if "if") (parenthesized_expression "(uVar37 < uVar38)" (( "(") (binary_expression "uVar37 < uVar38" (identifier "uVar37") (< "<") (identifier "uVar38")) () ")")) (compound_statement "{\n                      iVar28 = 4;\ncode_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);\n                    }" ({ "{") (expression_statement "iVar28 = 4;" (assignment_expression "iVar28 = 4" (identifier "iVar28") (= "=") (number_literal "4")) (; ";")) (labeled_statement "code_r0x00064e5d:\n                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);" (statement_identifier "code_r0x00064e5d") (: ":") (expression_statement "uVar15 = (*DAT_000b9dd8)(local_28,iVar28);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(local_28,iVar28)" (identifier "uVar15") (= "=") (call_expression "(*DAT_000b9dd8)(local_28,iVar28)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_28,iVar28)" (( "(") (identifier "local_28") (, ",") (identifier "iVar28") () ")")))) (; ";"))) (} "}")) (else_clause "else {\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }" (else "else") (compound_statement "{\n                      uVar15 = 0;\n                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;\n                    }" ({ "{") (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))\n                      goto code_r0x00064e5d;" (if "if") (parenthesized_expression "((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))" (( "(") (binary_expression "(local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8)" (parenthesized_expression "(local_28 < uVar38)" (( "(") (binary_expression "local_28 < uVar38" (identifier "local_28") (< "<") (identifier "uVar38")) () ")")) (&& "&&") (parenthesized_expression "(iVar28 = uVar38 - local_28, iVar28 - 1U < 8)" (( "(") (comma_expression "iVar28 = uVar38 - local_28, iVar28 - 1U < 8" (assignment_expression "iVar28 = uVar38 - local_28" (identifier "iVar28") (= "=") (binary_expression "uVar38 - local_28" (identifier "uVar38") (- "-") (identifier "local_28"))) (, ",") (binary_expression "iVar28 - 1U < 8" (binary_expression "iVar28 - 1U" (identifier "iVar28") (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto code_r0x00064e5d;" (goto "goto") (statement_identifier "code_r0x00064e5d") (; ";"))) (} "}")))) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" (identifier "printf") (argument_list "("%08x ",uVar15)" (( "(") (string_literal ""%08x "" (" """) (string_content "%08x ") (" """)) (, ",") (identifier "uVar15") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\ncode_r0x00064a90:\n                    uVar36 = uVar37 + 5;\n                    if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }\ncode_r0x00064ae3:\n                    uVar37 = uVar37 + 9;\n                    printf("%08x ",uVar15);\n                    break;" (case "case") (number_literal "4") (: ":") (labeled_statement "code_r0x00064a90:\n                    uVar36 = uVar37 + 5;" (statement_identifier "code_r0x00064a90") (: ":") (expression_statement "uVar36 = uVar37 + 5;" (assignment_expression "uVar36 = uVar37 + 5" (identifier "uVar36") (= "=") (binary_expression "uVar37 + 5" (identifier "uVar37") (+ "+") (number_literal "5"))) (; ";"))) (if_statement "if (uVar36 < uVar38) {\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }\n                    else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }" (if "if") (parenthesized_expression "(uVar36 < uVar38)" (( "(") (binary_expression "uVar36 < uVar38" (identifier "uVar36") (< "<") (identifier "uVar38")) () ")")) (compound_statement "{\n                      uVar15 = (*DAT_000b9dd8)(local_28,4);\n                      printf("%08x ",uVar15);\n                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;\n                      iVar28 = uVar38 - uVar36;\n                      if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }\ncode_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);\n                    }" ({ "{") (expression_statement "uVar15 = (*DAT_000b9dd8)(local_28,4);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(local_28,4)" (identifier "uVar15") (= "=") (call_expression "(*DAT_000b9dd8)(local_28,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_28,4)" (( "(") (identifier "local_28") (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" (identifier "printf") (argument_list "("%08x ",uVar15)" (( "(") (string_literal ""%08x "" (" """) (string_content "%08x ") (" """)) (, ",") (identifier "uVar15") () ")"))) (; ";")) (if_statement "if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;" (if "if") (parenthesized_expression "(uVar37 + 9 < uVar38)" (( "(") (binary_expression "uVar37 + 9 < uVar38" (binary_expression "uVar37 + 9" (identifier "uVar37") (+ "+") (number_literal "9")) (< "<") (identifier "uVar38")) () ")")) (goto_statement "goto code_r0x00064ad0;" (goto "goto") (statement_identifier "code_r0x00064ad0") (; ";"))) (expression_statement "iVar28 = uVar38 - uVar36;" (assignment_expression "iVar28 = uVar38 - uVar36" (identifier "iVar28") (= "=") (binary_expression "uVar38 - uVar36" (identifier "uVar38") (- "-") (identifier "uVar36"))) (; ";")) (if_statement "if (7 < iVar28 - 1U) {\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }" (if "if") (parenthesized_expression "(7 < iVar28 - 1U)" (( "(") (binary_expression "7 < iVar28 - 1U" (number_literal "7") (< "<") (binary_expression "iVar28 - 1U" (identifier "iVar28") (- "-") (number_literal "1U"))) () ")")) (compound_statement "{\n                        uVar15 = 0;\n                        goto code_r0x00064ae3;\n                      }" ({ "{") (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto code_r0x00064ae3;" (goto "goto") (statement_identifier "code_r0x00064ae3") (; ";")) (} "}"))) (labeled_statement "code_r0x00064ad5:\n                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);" (statement_identifier "code_r0x00064ad5") (: ":") (expression_statement "uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(uVar36,iVar28)" (identifier "uVar15") (= "=") (call_expression "(*DAT_000b9dd8)(uVar36,iVar28)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar36,iVar28)" (( "(") (identifier "uVar36") (, ",") (identifier "iVar28") () ")")))) (; ";"))) (} "}")) (else_clause "else {\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }" (else "else") (compound_statement "{\n                      if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }\n                      printf("%08x ",0);\n                      uVar15 = 0;\n                      if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }\n                    }" ({ "{") (if_statement "if (local_28 < uVar38) {\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }" (if "if") (parenthesized_expression "(local_28 < uVar38)" (( "(") (binary_expression "local_28 < uVar38" (identifier "local_28") (< "<") (identifier "uVar38")) () ")")) (compound_statement "{\n                        uVar33 = (uVar38 - local_28) - 1;\n                        if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }\n                      }" ({ "{") (expression_statement "uVar33 = (uVar38 - local_28) - 1;" (assignment_expression "uVar33 = (uVar38 - local_28) - 1" (identifier "uVar33") (= "=") (binary_expression "(uVar38 - local_28) - 1" (parenthesized_expression "(uVar38 - local_28)" (( "(") (binary_expression "uVar38 - local_28" (identifier "uVar38") (- "-") (identifier "local_28")) () ")")) (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar33 < 8) {\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }" (if "if") (parenthesized_expression "(uVar33 < 8)" (( "(") (binary_expression "uVar33 < 8" (identifier "uVar33") (< "<") (number_literal "8")) () ")")) (compound_statement "{\n                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);\n                          printf("%08x ",uVar15);\n                          uVar15 = 0;\n                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;\n                          goto code_r0x00064ad0;\n                        }" ({ "{") (expression_statement "uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33)" (identifier "uVar15") (= "=") (call_expression "(*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_28,uVar38 - local_28,uVar33,uVar33)" (( "(") (identifier "local_28") (, ",") (binary_expression "uVar38 - local_28" (identifier "uVar38") (- "-") (identifier "local_28")) (, ",") (identifier "uVar33") (, ",") (identifier "uVar33") () ")")))) (; ";")) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" (identifier "printf") (argument_list "("%08x ",uVar15)" (( "(") (string_literal ""%08x "" (" """) (string_content "%08x ") (" """)) (, ",") (identifier "uVar15") () ")"))) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;" (if "if") (parenthesized_expression "(uVar38 <= uVar37 + 9)" (( "(") (binary_expression "uVar38 <= uVar37 + 9" (identifier "uVar38") (<= "<=") (binary_expression "uVar37 + 9" (identifier "uVar37") (+ "+") (number_literal "9"))) () ")")) (goto_statement "goto code_r0x00064ae3;" (goto "goto") (statement_identifier "code_r0x00064ae3") (; ";"))) (goto_statement "goto code_r0x00064ad0;" (goto "goto") (statement_identifier "code_r0x00064ad0") (; ";")) (} "}"))) (} "}"))) (expression_statement "printf("%08x ",0);" (call_expression "printf("%08x ",0)" (identifier "printf") (argument_list "("%08x ",0)" (( "(") (string_literal ""%08x "" (" """) (string_content "%08x ") (" """)) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar37 + 9 < uVar38) {\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }" (if "if") (parenthesized_expression "(uVar37 + 9 < uVar38)" (( "(") (binary_expression "uVar37 + 9 < uVar38" (binary_expression "uVar37 + 9" (identifier "uVar37") (+ "+") (number_literal "9")) (< "<") (identifier "uVar38")) () ")")) (compound_statement "{\ncode_r0x00064ad0:\n                        iVar28 = 4;\n                        goto code_r0x00064ad5;\n                      }" ({ "{") (labeled_statement "code_r0x00064ad0:\n                        iVar28 = 4;" (statement_identifier "code_r0x00064ad0") (: ":") (expression_statement "iVar28 = 4;" (assignment_expression "iVar28 = 4" (identifier "iVar28") (= "=") (number_literal "4")) (; ";"))) (goto_statement "goto code_r0x00064ad5;" (goto "goto") (statement_identifier "code_r0x00064ad5") (; ";")) (} "}"))) (} "}")))) (labeled_statement "code_r0x00064ae3:\n                    uVar37 = uVar37 + 9;" (statement_identifier "code_r0x00064ae3") (: ":") (expression_statement "uVar37 = uVar37 + 9;" (assignment_expression "uVar37 = uVar37 + 9" (identifier "uVar37") (= "=") (binary_expression "uVar37 + 9" (identifier "uVar37") (+ "+") (number_literal "9"))) (; ";"))) (expression_statement "printf("%08x ",uVar15);" (call_expression "printf("%08x ",uVar15)" (identifier "printf") (argument_list "("%08x ",uVar15)" (( "(") (string_literal ""%08x "" (" """) (string_content "%08x ") (" """)) (, ",") (identifier "uVar15") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n                    goto LAB_00064cd8;" (default "default") (: ":") (goto_statement "goto LAB_00064cd8;" (goto "goto") (statement_identifier "LAB_00064cd8") (; ";"))) (} "}"))) (expression_statement "local_28 = uVar37 + 2;" (assignment_expression "local_28 = uVar37 + 2" (identifier "local_28") (= "=") (binary_expression "uVar37 + 2" (identifier "uVar37") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (uVar38 < local_28) goto LAB_00064ec7;" (if "if") (parenthesized_expression "(uVar38 < local_28)" (( "(") (binary_expression "uVar38 < local_28" (identifier "uVar38") (< "<") (identifier "local_28")) () ")")) (goto_statement "goto LAB_00064ec7;" (goto "goto") (statement_identifier "LAB_00064ec7") (; ";"))) (if_statement "if ((local_28 == uVar38) && (uVar38 <= uVar37)) {\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }\n                  else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }" (if "if") (parenthesized_expression "((local_28 == uVar38) && (uVar38 <= uVar37))" (( "(") (binary_expression "(local_28 == uVar38) && (uVar38 <= uVar37)" (parenthesized_expression "(local_28 == uVar38)" (( "(") (binary_expression "local_28 == uVar38" (identifier "local_28") (== "==") (identifier "uVar38")) () ")")) (&& "&&") (parenthesized_expression "(uVar38 <= uVar37)" (( "(") (binary_expression "uVar38 <= uVar37" (identifier "uVar38") (<= "<=") (identifier "uVar37")) () ")"))) () ")")) (compound_statement "{\n                    uVar10 = 0;\n                    uVar37 = uVar38;\n                  }" ({ "{") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar37 = uVar38;" (assignment_expression "uVar37 = uVar38" (identifier "uVar37") (= "=") (identifier "uVar38")) (; ";")) (} "}")) (else_clause "else {\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }" (else "else") (compound_statement "{\n                    uVar10 = (*DAT_000b9dd8)(uVar37,2);\n                    uVar37 = local_28 + uVar10;\n                    if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }\n                  }" ({ "{") (expression_statement "uVar10 = (*DAT_000b9dd8)(uVar37,2);" (assignment_expression "uVar10 = (*DAT_000b9dd8)(uVar37,2)" (identifier "uVar10") (= "=") (call_expression "(*DAT_000b9dd8)(uVar37,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar37,2)" (( "(") (identifier "uVar37") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar37 = local_28 + uVar10;" (assignment_expression "uVar37 = local_28 + uVar10" (identifier "uVar37") (= "=") (binary_expression "local_28 + uVar10" (identifier "local_28") (+ "+") (identifier "uVar10"))) (; ";")) (if_statement "if (uVar38 < uVar37) {\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }" (if "if") (parenthesized_expression "(uVar38 < uVar37)" (( "(") (binary_expression "uVar38 < uVar37" (identifier "uVar38") (< "<") (identifier "uVar37")) () ")")) (compound_statement "{\n                      uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);\n                      warn(uVar15,local_10c);\n                      goto code_r0x00064ee9;\n                    }" ({ "{") (expression_statement "uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5)" (identifier "dcgettext") (argument_list "(0,\n                                         "Location list starting at offset 0x%lx is not terminated.\n"\n                                         ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" (" """) (string_content "Location list starting at offset 0x%lx is not terminated.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" (identifier "warn") (argument_list "(uVar15,local_10c)" (( "(") (identifier "uVar15") (, ",") (identifier "local_10c") () ")"))) (; ";")) (goto_statement "goto code_r0x00064ee9;" (goto "goto") (statement_identifier "code_r0x00064ee9") (; ";")) (} "}"))) (} "}")))) (expression_statement "putc(0x28,*(FILE **)puVar7);" (call_expression "putc(0x28,*(FILE **)puVar7)" (identifier "putc") (argument_list "(0x28,*(FILE **)puVar7)" (( "(") (number_literal "0x28") (, ",") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (expression_statement "iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);" (assignment_expression "iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1)" (identifier "iVar28") (= "=") (call_expression "FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1)" (identifier "FUN_0004ff30") (argument_list "(iVar24,uVar10,0,iVar16,0,param_1)" (( "(") (identifier "iVar24") (, ",") (identifier "uVar10") (, ",") (number_literal "0") (, ",") (identifier "iVar16") (, ",") (number_literal "0") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "putc(0x29,*(FILE **)puVar7);" (call_expression "putc(0x29,*(FILE **)puVar7)" (identifier "putc") (argument_list "(0x29,*(FILE **)puVar7)" (( "(") (number_literal "0x29") (, ",") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (if_statement "if ((iVar28 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" (if "if") (parenthesized_expression "((iVar28 != 0) && (iVar34 == 0))" (( "(") (binary_expression "(iVar28 != 0) && (iVar34 == 0)" (parenthesized_expression "(iVar28 != 0)" (( "(") (binary_expression "iVar28 != 0" (identifier "iVar28") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar34 == 0)" (( "(") (binary_expression "iVar34 == 0" (identifier "iVar34") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" (identifier "dcgettext") (argument_list "(0," [without DW_AT_frame_base]",5)" (( "(") (number_literal "0") (, ",") (string_literal "" [without DW_AT_frame_base]"" (" """) (string_content " [without DW_AT_frame_base]") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (} "}"))) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" (identifier "putc") (argument_list "(10,*(FILE **)puVar7)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (expression_statement "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" (identifier "dcgettext") (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" (" """) (string_content "Invalid pointer size (%d) in debug info for entry %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,iVar16,local_8c);" (call_expression "warn(uVar15,iVar16,local_8c)" (identifier "warn") (argument_list "(uVar15,iVar16,local_8c)" (( "(") (identifier "uVar15") (, ",") (identifier "iVar16") (, ",") (identifier "local_8c") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" (else "else") (compound_statement "{\n              pcVar14 = "No debug information for loc lists of entry: %u\n";\nLAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);\n              warn(uVar15,local_8c);\n            }" ({ "{") (expression_statement "pcVar14 = "No debug information for loc lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information for loc lists of entry: %u\n"" (identifier "pcVar14") (= "=") (string_literal ""No debug information for loc lists of entry: %u\n"" (" """) (string_content "No debug information for loc lists of entry: %u") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_00064bdb:\n              uVar15 = dcgettext(0,pcVar14,5);" (statement_identifier "LAB_00064bdb") (: ":") (expression_statement "uVar15 = dcgettext(0,pcVar14,5);" (assignment_expression "uVar15 = dcgettext(0,pcVar14,5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,pcVar14,5)" (identifier "dcgettext") (argument_list "(0,pcVar14,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar14") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "warn(uVar15,local_8c);" (call_expression "warn(uVar15,local_8c)" (identifier "warn") (argument_list "(uVar15,local_8c)" (( "(") (identifier "uVar15") (, ",") (identifier "local_8c") () ")"))) (; ";")) (} "}")))))) (} "}")) (else_clause "else if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" (else "else") (if_statement "if (local_68 == 0) {\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }\n          else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" (if "if") (parenthesized_expression "(local_68 == 0)" (( "(") (binary_expression "local_68 == 0" (identifier "local_68") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }\n            piVar17 = (int *)(iVar31 + DAT_000b9d64);\n            iVar16 = *piVar17;\n            if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }\n          }" ({ "{") (if_statement "if (DAT_000b9d6c <= local_8c) {\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }" (if "if") (parenthesized_expression "(DAT_000b9d6c <= local_8c)" (( "(") (binary_expression "DAT_000b9d6c <= local_8c" (identifier "DAT_000b9d6c") (<= "<=") (identifier "local_8c")) () ")")) (compound_statement "{\n              pcVar14 = "No debug information available for loclists lists of entry: %u\n";\n              goto LAB_00064bdb;\n            }" ({ "{") (expression_statement "pcVar14 = "No debug information available for loclists lists of entry: %u\n";" (assignment_expression "pcVar14 = "No debug information available for loclists lists of entry: %u\n"" (identifier "pcVar14") (= "=") (string_literal ""No debug information available for loclists lists of entry: %u\n"" (" """) (string_content "No debug information available for loclists lists of entry: %u") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00064bdb;" (goto "goto") (statement_identifier "LAB_00064bdb") (; ";")) (} "}"))) (expression_statement "piVar17 = (int *)(iVar31 + DAT_000b9d64);" (assignment_expression "piVar17 = (int *)(iVar31 + DAT_000b9d64)" (identifier "piVar17") (= "=") (cast_expression "(int *)(iVar31 + DAT_000b9d64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar31 + DAT_000b9d64)" (( "(") (binary_expression "iVar31 + DAT_000b9d64" (identifier "iVar31") (+ "+") (identifier "DAT_000b9d64")) () ")")))) (; ";")) (expression_statement "iVar16 = *piVar17;" (assignment_expression "iVar16 = *piVar17" (identifier "iVar16") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (if_statement "if (iVar16 - 2U < 7) {\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }\n            else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" (if "if") (parenthesized_expression "(iVar16 - 2U < 7)" (( "(") (binary_expression "iVar16 - 2U < 7" (binary_expression "iVar16 - 2U" (identifier "iVar16") (- "-") (number_literal "2U")) (< "<") (number_literal "7")) () ")")) (compound_statement "{\n              uVar45 = 0xffffffffffffffff;\n              iVar24 = piVar17[3];\n              uVar44 = 0xffffffffffffffff;\n              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);\n              iVar28 = piVar17[2];\n              local_f4 = local_ec;\n              uVar38 = local_10c;\n              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }\n              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);\n              warn(uVar15,local_10c);\nLAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }\n              local_24 = local_f4;\n            }" ({ "{") (expression_statement "uVar45 = 0xffffffffffffffff;" (assignment_expression "uVar45 = 0xffffffffffffffff" (identifier "uVar45") (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "iVar24 = piVar17[3];" (assignment_expression "iVar24 = piVar17[3]" (identifier "iVar24") (= "=") (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar44 = 0xffffffffffffffff;" (assignment_expression "uVar44 = 0xffffffffffffffff" (identifier "uVar44") (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);" (assignment_expression "uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c)" (identifier "uVar37") (= "=") (binary_expression "*(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c)" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "iVar28 = piVar17[2];" (assignment_expression "iVar28 = piVar17[2]" (identifier "iVar28") (= "=") (subscript_expression "piVar17[2]" (identifier "piVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_f4 = local_ec;" (assignment_expression "local_f4 = local_ec" (identifier "local_f4") (= "=") (identifier "local_ec")) (; ";")) (expression_statement "uVar38 = local_10c;" (assignment_expression "uVar38 = local_10c" (identifier "uVar38") (= "=") (identifier "local_10c")) (; ";")) (while_statement "while (uVar36 = local_28 + 1, uVar36 <= uVar37) {\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }" (while "while") (parenthesized_expression "(uVar36 = local_28 + 1, uVar36 <= uVar37)" (( "(") (comma_expression "uVar36 = local_28 + 1, uVar36 <= uVar37" (assignment_expression "uVar36 = local_28 + 1" (identifier "uVar36") (= "=") (binary_expression "local_28 + 1" (identifier "local_28") (+ "+") (number_literal "1"))) (, ",") (binary_expression "uVar36 <= uVar37" (identifier "uVar36") (<= "<=") (identifier "uVar37"))) () ")")) (compound_statement "{\n                printf("    %8.8lx ",uVar38);\n                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }\n                uVar38 = (*DAT_000b9dd8)(local_28,1);\n                if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }\n                uVar38 = (local_28 - uVar39) + local_10c;\n              }" ({ "{") (expression_statement "printf("    %8.8lx ",uVar38);" (call_expression "printf("    %8.8lx ",uVar38)" (identifier "printf") (argument_list "("    %8.8lx ",uVar38)" (( "(") (string_literal ""    %8.8lx "" (" """) (string_content "    %8.8lx ") (" """)) (, ",") (identifier "uVar38") () ")"))) (; ";")) (if_statement "if ((uVar37 == uVar36) && (uVar37 <= local_28)) {\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }" (if "if") (parenthesized_expression "((uVar37 == uVar36) && (uVar37 <= local_28))" (( "(") (binary_expression "(uVar37 == uVar36) && (uVar37 <= local_28)" (parenthesized_expression "(uVar37 == uVar36)" (( "(") (binary_expression "uVar37 == uVar36" (identifier "uVar37") (== "==") (identifier "uVar36")) () ")")) (&& "&&") (parenthesized_expression "(uVar37 <= local_28)" (( "(") (binary_expression "uVar37 <= local_28" (identifier "uVar37") (<= "<=") (identifier "local_28")) () ")"))) () ")")) (compound_statement "{\nLAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);\n                  printf(pcVar14);\n                  local_28 = uVar36;\n                  goto LAB_000639ec;\n                }" ({ "{") (labeled_statement "LAB_000639ce:\n                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (statement_identifier "LAB_000639ce") (: ":") (expression_statement "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"<End of list>\n",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<End of list>\n",5)" (identifier "dcgettext") (argument_list "(0,"<End of list>\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<End of list>\n"" (" """) (string_content "<End of list>") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (expression_statement "local_28 = uVar36;" (assignment_expression "local_28 = uVar36" (identifier "local_28") (= "=") (identifier "uVar36")) (; ";")) (goto_statement "goto LAB_000639ec;" (goto "goto") (statement_identifier "LAB_000639ec") (; ";")) (} "}"))) (expression_statement "uVar38 = (*DAT_000b9dd8)(local_28,1);" (assignment_expression "uVar38 = (*DAT_000b9dd8)(local_28,1)" (identifier "uVar38") (= "=") (call_expression "(*DAT_000b9dd8)(local_28,1)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_28,1)" (( "(") (identifier "local_28") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if ((local_f4 == 0) || (uVar38 != 4)) {\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }\n                else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }" (if "if") (parenthesized_expression "((local_f4 == 0) || (uVar38 != 4))" (( "(") (binary_expression "(local_f4 == 0) || (uVar38 != 4)" (parenthesized_expression "(local_f4 == 0)" (( "(") (binary_expression "local_f4 == 0" (identifier "local_f4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar38 != 4)" (( "(") (binary_expression "uVar38 != 4" (identifier "uVar38") (!= "!=") (number_literal "4")) () ")"))) () ")")) (compound_statement "{\n                  if (uVar38 == 4) goto LAB_00063b0b;\n                  if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }\n                  if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }\n                  pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                  printf(pcVar14);\n                }" ({ "{") (if_statement "if (uVar38 == 4) goto LAB_00063b0b;" (if "if") (parenthesized_expression "(uVar38 == 4)" (( "(") (binary_expression "uVar38 == 4" (identifier "uVar38") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_00063b0b;" (goto "goto") (statement_identifier "LAB_00063b0b") (; ";"))) (if_statement "if (uVar38 < 5) {\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }" (if "if") (parenthesized_expression "(uVar38 < 5)" (( "(") (binary_expression "uVar38 < 5" (identifier "uVar38") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n                    if (uVar38 == 0) goto LAB_000639ce;\nLAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);\n                    error(uVar15,uVar38);\n                    local_28 = uVar39;\n                    goto LAB_000637dc;\n                  }" ({ "{") (if_statement "if (uVar38 == 0) goto LAB_000639ce;" (if "if") (parenthesized_expression "(uVar38 == 0)" (( "(") (binary_expression "uVar38 == 0" (identifier "uVar38") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000639ce;" (goto "goto") (statement_identifier "LAB_000639ce") (; ";"))) (labeled_statement "LAB_00063e0a:\n                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);" (statement_identifier "LAB_00063e0a") (: ":") (expression_statement "uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"Invalid location list entry type %d\n",5)" (identifier "dcgettext") (argument_list "(0,"Invalid location list entry type %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Invalid location list entry type %d\n"" (" """) (string_content "Invalid location list entry type %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "error(uVar15,uVar38);" (call_expression "error(uVar15,uVar38)" (identifier "error") (argument_list "(uVar15,uVar38)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar38") () ")"))) (; ";")) (expression_statement "local_28 = uVar39;" (assignment_expression "local_28 = uVar39" (identifier "local_28") (= "=") (identifier "uVar39")) (; ";")) (goto_statement "goto LAB_000637dc;" (goto "goto") (statement_identifier "LAB_000637dc") (; ";")) (} "}"))) (if_statement "if (uVar38 == 6) {\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }\n                  else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }" (if "if") (parenthesized_expression "(uVar38 == 6)" (( "(") (binary_expression "uVar38 == 6" (identifier "uVar38") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n                    local_28 = uVar36 + iVar16;\n                    iVar18 = iVar16;\n                    if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }\n                    FUN_0004ce60();\n                    pcVar14 = "(base address)\n";\n                  }" ({ "{") (expression_statement "local_28 = uVar36 + iVar16;" (assignment_expression "local_28 = uVar36 + iVar16" (identifier "local_28") (= "=") (binary_expression "uVar36 + iVar16" (identifier "uVar36") (+ "+") (identifier "iVar16"))) (; ";")) (expression_statement "iVar18 = iVar16;" (assignment_expression "iVar18 = iVar16" (identifier "iVar18") (= "=") (identifier "iVar16")) (; ";")) (if_statement "if ((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))\n                    {\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }" (if "if") (parenthesized_expression "((local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))" (( "(") (binary_expression "(local_28 < uVar37) ||\n                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)))" (parenthesized_expression "(local_28 < uVar37)" (( "(") (binary_expression "local_28 < uVar37" (identifier "local_28") (< "<") (identifier "uVar37")) () ")")) (|| "||") (parenthesized_expression "((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)))" (( "(") (parenthesized_expression "(uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))" (( "(") (binary_expression "uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)" (binary_expression "uVar36 < uVar37" (identifier "uVar36") (< "<") (identifier "uVar37")) (&& "&&") (parenthesized_expression "(iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8)" (( "(") (comma_expression "iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8" (assignment_expression "iVar18 = uVar37 - uVar36" (identifier "iVar18") (= "=") (binary_expression "uVar37 - uVar36" (identifier "uVar37") (- "-") (identifier "uVar36"))) (, ",") (binary_expression "(uVar37 - uVar36) - 1 < 8" (binary_expression "(uVar37 - uVar36) - 1" (parenthesized_expression "(uVar37 - uVar36)" (( "(") (binary_expression "uVar37 - uVar36" (identifier "uVar37") (- "-") (identifier "uVar36")) () ")")) (- "-") (number_literal "1")) (< "<") (number_literal "8"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                      (*DAT_000b9dd8)(uVar36,iVar18);\n                    }" ({ "{") (expression_statement "(*DAT_000b9dd8)(uVar36,iVar18);" (call_expression "(*DAT_000b9dd8)(uVar36,iVar18)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(uVar36,iVar18)" (( "(") (identifier "uVar36") (, ",") (identifier "iVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" (identifier "FUN_0004ce60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar14 = "(base address)\n";" (assignment_expression "pcVar14 = "(base address)\n"" (identifier "pcVar14") (= "=") (string_literal ""(base address)\n"" (" """) (string_content "(base address)") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }" (else "else") (compound_statement "{\n                    if (uVar38 != 9) goto LAB_00063e0a;\n                    if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }\n                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                    iVar18 = uVar36 + local_20[0];\n                    FUN_0004ea80();\n                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                    local_28 = iVar18 + local_20[0];\n                    FUN_0004ea80();\n                    pcVar14 = "views for:\n";\n                  }" ({ "{") (if_statement "if (uVar38 != 9) goto LAB_00063e0a;" (if "if") (parenthesized_expression "(uVar38 != 9)" (( "(") (binary_expression "uVar38 != 9" (identifier "uVar38") (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_00063e0a;" (goto "goto") (statement_identifier "LAB_00063e0a") (; ";"))) (if_statement "if (local_f4 != 0) {\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }" (if "if") (parenthesized_expression "(local_f4 != 0)" (( "(") (binary_expression "local_f4 != 0" (identifier "local_f4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);\n                      printf(pcVar14);\n                    }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" (identifier "dcgettext") (argument_list "(0,\n                                                  "View pair entry in loclist with locviews attribute\n"\n                                                  ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""View pair entry in loclist with locviews attribute\n"" (" """) (string_content "View pair entry in loclist with locviews attribute") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);" (assignment_expression "uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37)" (identifier "uVar44") (= "=") (call_expression "FUN_0004f990(uVar36,local_20,0,uVar37)" (identifier "FUN_0004f990") (argument_list "(uVar36,local_20,0,uVar37)" (( "(") (identifier "uVar36") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar37") () ")")))) (; ";")) (expression_statement "iVar18 = uVar36 + local_20[0];" (assignment_expression "iVar18 = uVar36 + local_20[0]" (identifier "iVar18") (= "=") (binary_expression "uVar36 + local_20[0]" (identifier "uVar36") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" (identifier "FUN_0004ea80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);" (assignment_expression "uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37)" (identifier "uVar45") (= "=") (call_expression "FUN_0004f990(iVar18,local_20,0,uVar37)" (identifier "FUN_0004f990") (argument_list "(iVar18,local_20,0,uVar37)" (( "(") (identifier "iVar18") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar37") () ")")))) (; ";")) (expression_statement "local_28 = iVar18 + local_20[0];" (assignment_expression "local_28 = iVar18 + local_20[0]" (identifier "local_28") (= "=") (binary_expression "iVar18 + local_20[0]" (identifier "iVar18") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" (identifier "FUN_0004ea80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar14 = "views for:\n";" (assignment_expression "pcVar14 = "views for:\n"" (identifier "pcVar14") (= "=") (string_literal ""views for:\n"" (" """) (string_content "views for:") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (expression_statement "pcVar14 = (char *)dcgettext(0,pcVar14,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,pcVar14,5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,pcVar14,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar14,5)" (identifier "dcgettext") (argument_list "(0,pcVar14,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar14") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }" (else "else") (compound_statement "{\n                  iVar18 = local_f4 - uVar39;\n                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);\n                  iVar32 = local_f4 + local_20[0];\n                  FUN_0004ea80();\n                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);\n                  local_f4 = iVar32 + local_20[0];\n                  FUN_0004ea80();\n                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);\n                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);\nLAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);\n                  local_bc = (uint)uVar45;\n                  local_c8 = (uint)(uVar44 >> 0x20);\n                  local_dc = (int *)uVar44;\n                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);\n                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);\n                  iVar18 = uVar36 + local_20[0];\n                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);\n                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);\n                  local_28 = iVar18 + local_20[0];\n                  if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }\n                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);\n                  iVar32 = local_28 + local_20[0];\n                  FUN_0004ce60();\n                  FUN_0004ce60();\n                  putc(0x28,*(FILE **)puVar7);\n                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);\n                  putc(0x29,*(FILE **)puVar7);\n                  if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }\n                  pFVar35 = *(FILE **)puVar7;\n                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  putc(10,pFVar35);\n                  local_28 = (int)uVar47 + iVar32;\n                  uVar45 = 0xffffffffffffffff;\n                  uVar44 = 0xffffffffffffffff;\n                }" ({ "{") (expression_statement "iVar18 = local_f4 - uVar39;" (assignment_expression "iVar18 = local_f4 - uVar39" (identifier "iVar18") (= "=") (binary_expression "local_f4 - uVar39" (identifier "local_f4") (- "-") (identifier "uVar39"))) (; ";")) (expression_statement "uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);" (assignment_expression "uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37)" (identifier "uVar44") (= "=") (call_expression "FUN_0004f990(local_f4,local_20,0,uVar37)" (identifier "FUN_0004f990") (argument_list "(local_f4,local_20,0,uVar37)" (( "(") (identifier "local_f4") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar37") () ")")))) (; ";")) (expression_statement "iVar32 = local_f4 + local_20[0];" (assignment_expression "iVar32 = local_f4 + local_20[0]" (identifier "iVar32") (= "=") (binary_expression "local_f4 + local_20[0]" (identifier "local_f4") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" (identifier "FUN_0004ea80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);" (assignment_expression "uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37)" (identifier "uVar45") (= "=") (call_expression "FUN_0004f990(iVar32,local_20,0,uVar37)" (identifier "FUN_0004f990") (argument_list "(iVar32,local_20,0,uVar37)" (( "(") (identifier "iVar32") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar37") () ")")))) (; ";")) (expression_statement "local_f4 = iVar32 + local_20[0];" (assignment_expression "local_f4 = iVar32 + local_20[0]" (identifier "local_f4") (= "=") (binary_expression "iVar32 + local_20[0]" (identifier "iVar32") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ea80();" (call_expression "FUN_0004ea80()" (identifier "FUN_0004ea80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"views at %8.8lx for:\n    %*s ",5)" (identifier "dcgettext") (argument_list "(0,"views at %8.8lx for:\n    %*s ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""views at %8.8lx for:\n    %*s "" (" """) (string_content "views at %8.8lx for:") (escape_sequence "\n") (string_content "    %*s ") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);" (call_expression "printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" (identifier "printf") (argument_list "(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55)" (( "(") (identifier "pcVar14") (, ",") (binary_expression "iVar18 + local_10c" (identifier "iVar18") (+ "+") (identifier "local_10c")) (, ",") (number_literal "8") (, ",") (pointer_expression "&DAT_0007bc55" (& "&") (identifier "DAT_0007bc55")) () ")"))) (; ";")) (labeled_statement "LAB_00063b0b:\n                  local_b0 = (uint)(uVar45 >> 0x20);" (statement_identifier "LAB_00063b0b") (: ":") (expression_statement "local_b0 = (uint)(uVar45 >> 0x20);" (assignment_expression "local_b0 = (uint)(uVar45 >> 0x20)" (identifier "local_b0") (= "=") (call_expression "(uint)(uVar45 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar45 >> 0x20)" (( "(") (binary_expression "uVar45 >> 0x20" (identifier "uVar45") (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "local_bc = (uint)uVar45;" (assignment_expression "local_bc = (uint)uVar45" (identifier "local_bc") (= "=") (cast_expression "(uint)uVar45" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar45"))) (; ";")) (expression_statement "local_c8 = (uint)(uVar44 >> 0x20);" (assignment_expression "local_c8 = (uint)(uVar44 >> 0x20)" (identifier "local_c8") (= "=") (call_expression "(uint)(uVar44 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar44 >> 0x20)" (( "(") (binary_expression "uVar44 >> 0x20" (identifier "uVar44") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_dc = (int *)uVar44;" (assignment_expression "local_dc = (int *)uVar44" (identifier "local_dc") (= "=") (cast_expression "(int *)uVar44" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar44"))) (; ";")) (expression_statement "lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);" (assignment_expression "lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37)" (identifier "lVar43") (= "=") (call_expression "FUN_0004f990(uVar36,local_20,0,uVar37)" (identifier "FUN_0004f990") (argument_list "(uVar36,local_20,0,uVar37)" (( "(") (identifier "uVar36") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar37") () ")")))) (; ";")) (expression_statement "uVar38 = (uint)((ulonglong)lVar43 >> 0x20);" (assignment_expression "uVar38 = (uint)((ulonglong)lVar43 >> 0x20)" (identifier "uVar38") (= "=") (call_expression "(uint)((ulonglong)lVar43 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar43 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar43 >> 0x20" (cast_expression "(ulonglong)lVar43" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar43")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "iVar18 = uVar36 + local_20[0];" (assignment_expression "iVar18 = uVar36 + local_20[0]" (identifier "iVar18") (= "=") (binary_expression "uVar36 + local_20[0]" (identifier "uVar36") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);" (assignment_expression "lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37)" (identifier "lVar46") (= "=") (call_expression "FUN_0004f990(iVar18,local_20,0,uVar37)" (identifier "FUN_0004f990") (argument_list "(iVar18,local_20,0,uVar37)" (( "(") (identifier "iVar18") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar37") () ")")))) (; ";")) (expression_statement "uVar36 = (uint)((ulonglong)lVar46 >> 0x20);" (assignment_expression "uVar36 = (uint)((ulonglong)lVar46 >> 0x20)" (identifier "uVar36") (= "=") (call_expression "(uint)((ulonglong)lVar46 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar46 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar46 >> 0x20" (cast_expression "(ulonglong)lVar46" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar46")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_28 = iVar18 + local_20[0];" (assignment_expression "local_28 = iVar18 + local_20[0]" (identifier "local_28") (= "=") (binary_expression "iVar18 + local_20[0]" (identifier "iVar18") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if (uVar37 < local_28 + 2) {\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }" (if "if") (parenthesized_expression "(uVar37 < local_28 + 2)" (( "(") (binary_expression "uVar37 < local_28 + 2" (identifier "uVar37") (< "<") (binary_expression "local_28 + 2" (identifier "local_28") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n                    uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);\n                    warn(uVar15,local_10c);\n                    goto LAB_000639ec;\n                  }" ({ "{") (expression_statement "uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5)" (identifier "dcgettext") (argument_list "(0,\n                                       "Location list starting at offset 0x%lx is not terminated.\n"\n                                       ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" (" """) (string_content "Location list starting at offset 0x%lx is not terminated.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" (identifier "warn") (argument_list "(uVar15,local_10c)" (( "(") (identifier "uVar15") (, ",") (identifier "local_10c") () ")"))) (; ";")) (goto_statement "goto LAB_000639ec;" (goto "goto") (statement_identifier "LAB_000639ec") (; ";")) (} "}"))) (expression_statement "uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);" (assignment_expression "uVar47 = FUN_0004f990(local_28,local_20,0,uVar37)" (identifier "uVar47") (= "=") (call_expression "FUN_0004f990(local_28,local_20,0,uVar37)" (identifier "FUN_0004f990") (argument_list "(local_28,local_20,0,uVar37)" (( "(") (identifier "local_28") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "uVar37") () ")")))) (; ";")) (expression_statement "iVar32 = local_28 + local_20[0];" (assignment_expression "iVar32 = local_28 + local_20[0]" (identifier "iVar32") (= "=") (binary_expression "local_28 + local_20[0]" (identifier "local_28") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" (identifier "FUN_0004ce60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0004ce60();" (call_expression "FUN_0004ce60()" (identifier "FUN_0004ce60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "putc(0x28,*(FILE **)puVar7);" (call_expression "putc(0x28,*(FILE **)puVar7)" (identifier "putc") (argument_list "(0x28,*(FILE **)puVar7)" (( "(") (number_literal "0x28") (, ",") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (expression_statement "iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);" (assignment_expression "iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1)" (identifier "iVar18") (= "=") (call_expression "FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1)" (identifier "FUN_0004ff30") (argument_list "(iVar28,uVar47,iVar24,0,param_1)" (( "(") (identifier "iVar28") (, ",") (identifier "uVar47") (, ",") (identifier "iVar24") (, ",") (number_literal "0") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "putc(0x29,*(FILE **)puVar7);" (call_expression "putc(0x29,*(FILE **)puVar7)" (identifier "putc") (argument_list "(0x29,*(FILE **)puVar7)" (( "(") (number_literal "0x29") (, ",") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (if_statement "if ((iVar18 != 0) && (iVar34 == 0)) {\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" (if "if") (parenthesized_expression "((iVar18 != 0) && (iVar34 == 0))" (( "(") (binary_expression "(iVar18 != 0) && (iVar34 == 0)" (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar34 == 0)" (( "(") (binary_expression "iVar34 == 0" (identifier "iVar34") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);\n                    printf(pcVar14);\n                  }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0," [without DW_AT_frame_base]",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," [without DW_AT_frame_base]",5)" (identifier "dcgettext") (argument_list "(0," [without DW_AT_frame_base]",5)" (( "(") (number_literal "0") (, ",") (string_literal "" [without DW_AT_frame_base]"" (" """) (string_content " [without DW_AT_frame_base]") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (} "}"))) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" (identifier "pFVar35") (= "=") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7")))) (; ";")) (if_statement "if ((uVar44 == uVar45) && (lVar43 == lVar46)) {\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }\n                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" (if "if") (parenthesized_expression "((uVar44 == uVar45) && (lVar43 == lVar46))" (( "(") (binary_expression "(uVar44 == uVar45) && (lVar43 == lVar46)" (parenthesized_expression "(uVar44 == uVar45)" (( "(") (binary_expression "uVar44 == uVar45" (identifier "uVar44") (== "==") (identifier "uVar45")) () ")")) (&& "&&") (parenthesized_expression "(lVar43 == lVar46)" (( "(") (binary_expression "lVar43 == lVar46" (identifier "lVar43") (== "==") (identifier "lVar46")) () ")"))) () ")")) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," (start == end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0," (start == end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start == end)",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0," (start == end)",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," (start == end)",5)" (identifier "dcgettext") (argument_list "(0," (start == end)",5)" (( "(") (number_literal "0") (, ",") (string_literal "" (start == end)"" (" """) (string_content " (start == end)") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" (identifier "fputs") (argument_list "(pcVar14,pFVar35)" (( "(") (identifier "pcVar14") (, ",") (identifier "pFVar35") () ")"))) (; ";")) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" (identifier "pFVar35") (= "=") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7")))) (; ";")) (} "}")) (else_clause "else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" (else "else") (if_statement "if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))) {\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" (if "if") (parenthesized_expression "((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46))))" (( "(") (binary_expression "(uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           ) || ((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))" (parenthesized_expression "(uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)\n                           )" (( "(") (binary_expression "uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)" (binary_expression "uVar36 < uVar38" (identifier "uVar36") (< "<") (identifier "uVar38")) (|| "||") (binary_expression "uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)" (binary_expression "uVar36 - uVar38" (identifier "uVar36") (- "-") (identifier "uVar38")) (< "<") (call_expression "(uint)((uint)lVar46 < (uint)lVar43)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)lVar46 < (uint)lVar43)" (( "(") (binary_expression "(uint)lVar46 < (uint)lVar43" (cast_expression "(uint)lVar46" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar46")) (< "<") (cast_expression "(uint)lVar43" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar43"))) () ")"))))) () ")")) (|| "||") (parenthesized_expression "((local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)))" (( "(") (parenthesized_expression "(local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46))" (( "(") (binary_expression "local_b0 < local_c8 ||\n                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)" (binary_expression "local_b0 < local_c8" (identifier "local_b0") (< "<") (identifier "local_c8")) (|| "||") (binary_expression "local_b0 - local_c8 < (uint)(local_bc < local_dc) &&\n                                 (lVar43 == lVar46)" (binary_expression "local_b0 - local_c8 < (uint)(local_bc < local_dc)" (binary_expression "local_b0 - local_c8" (identifier "local_b0") (- "-") (identifier "local_c8")) (< "<") (call_expression "(uint)(local_bc < local_dc)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_bc < local_dc)" (( "(") (binary_expression "local_bc < local_dc" (identifier "local_bc") (< "<") (identifier "local_dc")) () ")")))) (&& "&&") (parenthesized_expression "(lVar43 == lVar46)" (( "(") (binary_expression "lVar43 == lVar46" (identifier "lVar43") (== "==") (identifier "lVar46")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    pcVar14 = (char *)dcgettext(0," (start > end)",5);\n                    fputs(pcVar14,pFVar35);\n                    pFVar35 = *(FILE **)puVar7;\n                  }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0," (start > end)",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0," (start > end)",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0," (start > end)",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," (start > end)",5)" (identifier "dcgettext") (argument_list "(0," (start > end)",5)" (( "(") (number_literal "0") (, ",") (string_literal "" (start > end)"" (" """) (string_content " (start > end)") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fputs(pcVar14,pFVar35);" (call_expression "fputs(pcVar14,pFVar35)" (identifier "fputs") (argument_list "(pcVar14,pFVar35)" (( "(") (identifier "pcVar14") (, ",") (identifier "pFVar35") () ")"))) (; ";")) (expression_statement "pFVar35 = *(FILE **)puVar7;" (assignment_expression "pFVar35 = *(FILE **)puVar7" (identifier "pFVar35") (= "=") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7")))) (; ";")) (} "}"))))) (expression_statement "putc(10,pFVar35);" (call_expression "putc(10,pFVar35)" (identifier "putc") (argument_list "(10,pFVar35)" (( "(") (number_literal "10") (, ",") (identifier "pFVar35") () ")"))) (; ";")) (expression_statement "local_28 = (int)uVar47 + iVar32;" (assignment_expression "local_28 = (int)uVar47 + iVar32" (identifier "local_28") (= "=") (binary_expression "(int)uVar47 + iVar32" (cast_expression "(int)uVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar47")) (+ "+") (identifier "iVar32"))) (; ";")) (expression_statement "uVar45 = 0xffffffffffffffff;" (assignment_expression "uVar45 = 0xffffffffffffffff" (identifier "uVar45") (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "uVar44 = 0xffffffffffffffff;" (assignment_expression "uVar44 = 0xffffffffffffffff" (identifier "uVar44") (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (} "}")))) (expression_statement "uVar38 = (local_28 - uVar39) + local_10c;" (assignment_expression "uVar38 = (local_28 - uVar39) + local_10c" (identifier "uVar38") (= "=") (binary_expression "(local_28 - uVar39) + local_10c" (parenthesized_expression "(local_28 - uVar39)" (( "(") (binary_expression "local_28 - uVar39" (identifier "local_28") (- "-") (identifier "uVar39")) () ")")) (+ "+") (identifier "local_10c"))) (; ";")) (} "}"))) (expression_statement "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" (identifier "dcgettext") (argument_list "(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" (" """) (string_content "Location list starting at offset 0x%lx is not terminated.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" (identifier "warn") (argument_list "(uVar15,local_10c)" (( "(") (identifier "uVar15") (, ",") (identifier "local_10c") () ")"))) (; ";")) (labeled_statement "LAB_000639ec:\n              if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }" (statement_identifier "LAB_000639ec") (: ":") (if_statement "if ((uVar44 & uVar45) != 0xffffffffffffffff) {\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }" (if "if") (parenthesized_expression "((uVar44 & uVar45) != 0xffffffffffffffff)" (( "(") (binary_expression "(uVar44 & uVar45) != 0xffffffffffffffff" (parenthesized_expression "(uVar44 & uVar45)" (( "(") (binary_expression "uVar44 & uVar45" (identifier "uVar44") (& "&") (identifier "uVar45")) () ")")) (!= "!=") (number_literal "0xffffffffffffffff")) () ")")) (compound_statement "{\n                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);\n                printf(pcVar14);\n              }" ({ "{") (expression_statement "pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5)" (identifier "pcVar14") (= "=") (cast_expression "(char *)dcgettext(0,"Trailing view pair not used in a range",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Trailing view pair not used in a range",5)" (identifier "dcgettext") (argument_list "(0,"Trailing view pair not used in a range",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Trailing view pair not used in a range"" (" """) (string_content "Trailing view pair not used in a range") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar14);" (call_expression "printf(pcVar14)" (identifier "printf") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (} "}")))) (expression_statement "local_24 = local_f4;" (assignment_expression "local_24 = local_f4" (identifier "local_24") (= "=") (identifier "local_f4")) (; ";")) (} "}")) (else_clause "else {\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" (else "else") (compound_statement "{\n              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);\n              warn(uVar15,iVar16,local_8c);\n            }" ({ "{") (expression_statement "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" (identifier "dcgettext") (argument_list "(0,"Invalid pointer size (%d) in debug info for entry %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Invalid pointer size (%d) in debug info for entry %d\n"" (" """) (string_content "Invalid pointer size (%d) in debug info for entry %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,iVar16,local_8c);" (call_expression "warn(uVar15,iVar16,local_8c)" (identifier "warn") (argument_list "(uVar15,iVar16,local_8c)" (( "(") (identifier "uVar15") (, ",") (identifier "iVar16") (, ",") (identifier "local_8c") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" (else "else") (compound_statement "{\n            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);\n            warn(uVar15);\n          }" ({ "{") (expression_statement "uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"DWO is not yet supported.\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"DWO is not yet supported.\n",5)" (identifier "dcgettext") (argument_list "(0,"DWO is not yet supported.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""DWO is not yet supported.\n"" (" """) (string_content "DWO is not yet supported.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15);" (call_expression "warn(uVar15)" (identifier "warn") (argument_list "(uVar15)" (( "(") (identifier "uVar15") () ")"))) (; ";")) (} "}")))))) (goto_statement "goto LAB_000637dc;" (goto "goto") (statement_identifier "LAB_000637dc") (; ";")) (} "}"))) (if_statement "if (local_f0 == 0) {\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }" (if "if") (parenthesized_expression "(local_f0 == 0)" (( "(") (binary_expression "local_f0 == 0" (identifier "local_f0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_108 = puVar3[1];\n          local_10c = *puVar3;\n          uVar38 = *puVar20;\n          local_f4 = puVar20[1];\n          iVar16 = 0;\n          goto LAB_000635f2;\n        }" ({ "{") (expression_statement "local_108 = puVar3[1];" (assignment_expression "local_108 = puVar3[1]" (identifier "local_108") (= "=") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_10c = *puVar3;" (assignment_expression "local_10c = *puVar3" (identifier "local_10c") (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "uVar38 = *puVar20;" (assignment_expression "uVar38 = *puVar20" (identifier "uVar38") (= "=") (pointer_expression "*puVar20" (* "*") (identifier "puVar20"))) (; ";")) (expression_statement "local_f4 = puVar20[1];" (assignment_expression "local_f4 = puVar20[1]" (identifier "local_f4") (= "=") (subscript_expression "puVar20[1]" (identifier "puVar20") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000635f2;" (goto "goto") (statement_identifier "LAB_000635f2") (; ";")) (} "}"))) (expression_statement "local_ec = local_f0;" (assignment_expression "local_ec = local_f0" (identifier "local_ec") (= "=") (identifier "local_f0")) (; ";")) (expression_statement "local_10c = puVar3[local_f0 * 2];" (assignment_expression "local_10c = puVar3[local_f0 * 2]" (identifier "local_10c") (= "=") (subscript_expression "puVar3[local_f0 * 2]" (identifier "puVar3") ([ "[") (binary_expression "local_f0 * 2" (identifier "local_f0") (* "*") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "local_e8 = local_f0 * 8 + -8;" (assignment_expression "local_e8 = local_f0 * 8 + -8" (identifier "local_e8") (= "=") (binary_expression "local_f0 * 8 + -8" (binary_expression "local_f0 * 8" (identifier "local_f0") (* "*") (number_literal "8")) (+ "+") (number_literal "-8"))) (; ";")) (expression_statement "local_108 = puVar3[local_f0 * 2 + 1];" (assignment_expression "local_108 = puVar3[local_f0 * 2 + 1]" (identifier "local_108") (= "=") (subscript_expression "puVar3[local_f0 * 2 + 1]" (identifier "puVar3") ([ "[") (binary_expression "local_f0 * 2 + 1" (binary_expression "local_f0 * 2" (identifier "local_f0") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "local_f4 = puVar20[local_f0 * 2 + 1];" (assignment_expression "local_f4 = puVar20[local_f0 * 2 + 1]" (identifier "local_f4") (= "=") (subscript_expression "puVar20[local_f0 * 2 + 1]" (identifier "puVar20") ([ "[") (binary_expression "local_f0 * 2 + 1" (binary_expression "local_f0 * 2" (identifier "local_f0") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "uVar38 = puVar20[local_f0 * 2];" (assignment_expression "uVar38 = puVar20[local_f0 * 2]" (identifier "uVar38") (= "=") (subscript_expression "puVar20[local_f0 * 2]" (identifier "puVar20") ([ "[") (binary_expression "local_f0 * 2" (identifier "local_f0") (* "*") (number_literal "2")) (] "]"))) (; ";")) (labeled_statement "LAB_0006389e:\n        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }" (statement_identifier "LAB_0006389e") (: ":") (if_statement "if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))) {\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }" (if "if") (parenthesized_expression "((local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8)))" (( "(") (binary_expression "(local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||\n           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))" (parenthesized_expression "(local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4))" (( "(") (binary_expression "local_10c != *(uint *)((int)puVar3 + local_e8) ||\n             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)" (binary_expression "local_10c != *(uint *)((int)puVar3 + local_e8)" (identifier "local_10c") (!= "!=") (pointer_expression "*(uint *)((int)puVar3 + local_e8)" (* "*") (cast_expression "(uint *)((int)puVar3 + local_e8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar3 + local_e8)" (( "(") (binary_expression "(int)puVar3 + local_e8" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (identifier "local_e8")) () ")"))))) (|| "||") (binary_expression "local_108 != *(uint *)((int)puVar3 + local_e8 + 4)" (identifier "local_108") (!= "!=") (pointer_expression "*(uint *)((int)puVar3 + local_e8 + 4)" (* "*") (cast_expression "(uint *)((int)puVar3 + local_e8 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar3 + local_e8 + 4)" (( "(") (binary_expression "(int)puVar3 + local_e8 + 4" (binary_expression "(int)puVar3 + local_e8" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (identifier "local_e8")) (+ "+") (number_literal "4")) () ")")))))) () ")")) (|| "||") (parenthesized_expression "(local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8))" (( "(") (binary_expression "local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||\n            uVar38 != *(uint *)((int)puVar20 + local_e8)" (binary_expression "local_f4 != *(uint *)((int)puVar20 + local_e8 + 4)" (identifier "local_f4") (!= "!=") (pointer_expression "*(uint *)((int)puVar20 + local_e8 + 4)" (* "*") (cast_expression "(uint *)((int)puVar20 + local_e8 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + local_e8 + 4)" (( "(") (binary_expression "(int)puVar20 + local_e8 + 4" (binary_expression "(int)puVar20 + local_e8" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (identifier "local_e8")) (+ "+") (number_literal "4")) () ")"))))) (|| "||") (binary_expression "uVar38 != *(uint *)((int)puVar20 + local_e8)" (identifier "uVar38") (!= "!=") (pointer_expression "*(uint *)((int)puVar20 + local_e8)" (* "*") (cast_expression "(uint *)((int)puVar20 + local_e8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + local_e8)" (( "(") (binary_expression "(int)puVar20 + local_e8" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (identifier "local_e8")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n          iVar16 = local_ec << 2;\n          goto LAB_000635f2;\n        }" ({ "{") (expression_statement "iVar16 = local_ec << 2;" (assignment_expression "iVar16 = local_ec << 2" (identifier "iVar16") (= "=") (binary_expression "local_ec << 2" (identifier "local_ec") (<< "<<") (number_literal "2"))) (; ";")) (goto_statement "goto LAB_000635f2;" (goto "goto") (statement_identifier "LAB_000635f2") (; ";")) (} "}")))) (goto_statement "goto LAB_0006373a;" (goto "goto") (statement_identifier "LAB_0006373a") (; ";")) (} "}"))) (labeled_statement "LAB_00063fc0:\n      local_8c = local_8c + 1;" (statement_identifier "LAB_00063fc0") (: ":") (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" (identifier "local_8c") (= "=") (binary_expression "local_8c + 1" (identifier "local_8c") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(local_8c < DAT_000b9d6c)" (( "(") (binary_expression "local_8c < DAT_000b9d6c" (identifier "local_8c") (< "<") (identifier "DAT_000b9d6c")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);" (assignment_expression "uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" (identifier "uVar19") (= "=") (binary_expression "*(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10)" (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")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (if_statement "if (local_28 < uVar19) {\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }" (if "if") (parenthesized_expression "(local_28 < uVar19)" (( "(") (binary_expression "local_28 < uVar19" (identifier "local_28") (< "<") (identifier "uVar19")) () ")")) (compound_statement "{\n    iVar31 = uVar19 - local_28;\n    uVar15 = *(undefined4 *)(param_1 + 8);\n    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);\n    warn(uVar13,iVar31,uVar15);\n  }" ({ "{") (expression_statement "iVar31 = uVar19 - local_28;" (assignment_expression "iVar31 = uVar19 - local_28" (identifier "iVar31") (= "=") (binary_expression "uVar19 - local_28" (identifier "uVar19") (- "-") (identifier "local_28"))) (; ";")) (expression_statement "uVar15 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar15 = *(undefined4 *)(param_1 + 8)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);" (assignment_expression "uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5)" (identifier "uVar13") (= "=") (call_expression "dcngettext(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5)" (identifier "dcngettext") (argument_list "(0,"There is %ld unused byte at the end of section %s\n",\n                        "There are %ld unused bytes at the end of section %s\n",iVar31,5)" (( "(") (number_literal "0") (, ",") (string_literal ""There is %ld unused byte at the end of section %s\n"" (" """) (string_content "There is %ld unused byte at the end of section %s") (escape_sequence "\n") (" """)) (, ",") (string_literal ""There are %ld unused bytes at the end of section %s\n"" (" """) (string_content "There are %ld unused bytes at the end of section %s") (escape_sequence "\n") (" """)) (, ",") (identifier "iVar31") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar13,iVar31,uVar15);" (call_expression "warn(uVar13,iVar31,uVar15)" (identifier "warn") (argument_list "(uVar13,iVar31,uVar15)" (( "(") (identifier "uVar13") (, ",") (identifier "iVar31") (, ",") (identifier "uVar15") () ")"))) (; ";")) (} "}"))) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" (identifier "putc") (argument_list "(10,*(FILE **)puVar7)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (expression_statement "free(local_5c);" (call_expression "free(local_5c)" (identifier "free") (argument_list "(local_5c)" (( "(") (identifier "local_5c") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (labeled_statement "LAB_00064ec7:\n  local_28 = uVar37;" (statement_identifier "LAB_00064ec7") (: ":") (expression_statement "local_28 = uVar37;" (assignment_expression "local_28 = uVar37" (identifier "local_28") (= "=") (identifier "uVar37")) (; ";"))) (expression_statement "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);" (assignment_expression "uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" (identifier "dcgettext") (argument_list "(0,"Location list starting at offset 0x%lx is not terminated.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Location list starting at offset 0x%lx is not terminated.\n"" (" """) (string_content "Location list starting at offset 0x%lx is not terminated.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,local_10c);" (call_expression "warn(uVar15,local_10c)" (identifier "warn") (argument_list "(uVar15,local_10c)" (( "(") (identifier "uVar15") (, ",") (identifier "local_10c") () ")"))) (; ";")) (labeled_statement "code_r0x00064ee9:\n  local_24 = local_104;" (statement_identifier "code_r0x00064ee9") (: ":") (expression_statement "local_24 = local_104;" (assignment_expression "local_24 = local_104" (identifier "local_24") (= "=") (identifier "local_104")) (; ";"))) (labeled_statement "LAB_000637dc:\n  if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" (statement_identifier "LAB_000637dc") (: ":") (if_statement "if ((bVar5) && (bVar6)) {\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }\n  else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" (if "if") (parenthesized_expression "((bVar5) && (bVar6))" (( "(") (binary_expression "(bVar5) && (bVar6)" (parenthesized_expression "(bVar5)" (( "(") (identifier "bVar5") () ")")) (&& "&&") (parenthesized_expression "(bVar6)" (( "(") (identifier "bVar6") () ")"))) () ")")) (compound_statement "{\n    if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }\n    FUN_000520e0(local_24);\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" ({ "{") (if_statement "if (local_28 == local_ec) {\n      bVar5 = true;\n    }\n    else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }" (if "if") (parenthesized_expression "(local_28 == local_ec)" (( "(") (binary_expression "local_28 == local_ec" (identifier "local_28") (== "==") (identifier "local_ec")) () ")")) (compound_statement "{\n      bVar5 = true;\n    }" ({ "{") (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }" (else "else") (compound_statement "{\n      if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }\n      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);\n      warn(uVar15);\n      bVar5 = false;\nLAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;\n    }" ({ "{") (if_statement "if (uVar39 == local_24) {\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }" (if "if") (parenthesized_expression "(uVar39 == local_24)" (( "(") (binary_expression "uVar39 == local_24" (identifier "uVar39") (== "==") (identifier "local_24")) () ")")) (compound_statement "{\n        local_fc = DAT_000b9d64;\n        bVar5 = true;\n        bVar42 = true;\n        goto LAB_0006373a;\n      }" ({ "{") (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" (identifier "local_fc") (= "=") (identifier "DAT_000b9d64")) (; ";")) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" (identifier "bVar42") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_0006373a;" (goto "goto") (statement_identifier "LAB_0006373a") (; ";")) (} "}"))) (expression_statement "uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5);" (assignment_expression "uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5)" (identifier "dcgettext") (argument_list "(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"\n                         ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Hole and overlap detection requires adjacent view lists and loclists.\n"" (" """) (string_content "Hole and overlap detection requires adjacent view lists and loclists.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15);" (call_expression "warn(uVar15)" (identifier "warn") (argument_list "(uVar15)" (( "(") (identifier "uVar15") () ")"))) (; ";")) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (labeled_statement "LAB_00063833:\n      if (local_28 != local_ec) goto LAB_00063844;" (statement_identifier "LAB_00063833") (: ":") (if_statement "if (local_28 != local_ec) goto LAB_00063844;" (if "if") (parenthesized_expression "(local_28 != local_ec)" (( "(") (binary_expression "local_28 != local_ec" (identifier "local_28") (!= "!=") (identifier "local_ec")) () ")")) (goto_statement "goto LAB_00063844;" (goto "goto") (statement_identifier "LAB_00063844") (; ";")))) (} "}")))) (expression_statement "FUN_000520e0(local_24);" (call_expression "FUN_000520e0(local_24)" (identifier "FUN_000520e0") (argument_list "(local_24)" (( "(") (identifier "local_24") () ")"))) (; ";")) (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" (identifier "local_fc") (= "=") (identifier "DAT_000b9d64")) (; ";")) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" (identifier "bVar42") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" (else "else") (compound_statement "{\n    if (local_ec != 0) goto LAB_00063833;\nLAB_00063844:\n    local_fc = DAT_000b9d64;\n    bVar42 = true;\n  }" ({ "{") (if_statement "if (local_ec != 0) goto LAB_00063833;" (if "if") (parenthesized_expression "(local_ec != 0)" (( "(") (binary_expression "local_ec != 0" (identifier "local_ec") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00063833;" (goto "goto") (statement_identifier "LAB_00063833") (; ";"))) (labeled_statement "LAB_00063844:\n    local_fc = DAT_000b9d64;" (statement_identifier "LAB_00063844") (: ":") (expression_statement "local_fc = DAT_000b9d64;" (assignment_expression "local_fc = DAT_000b9d64" (identifier "local_fc") (= "=") (identifier "DAT_000b9d64")) (; ";"))) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" (identifier "bVar42") (= "=") (true "true")) (; ";")) (} "}"))))) (labeled_statement "LAB_0006373a:\n  iVar34 = local_fc + iVar31;" (statement_identifier "LAB_0006373a") (: ":") (expression_statement "iVar34 = local_fc + iVar31;" (assignment_expression "iVar34 = local_fc + iVar31" (identifier "iVar34") (= "=") (binary_expression "local_fc + iVar31" (identifier "local_fc") (+ "+") (identifier "iVar31"))) (; ";"))) (expression_statement "local_f0 = local_f0 + 1;" (assignment_expression "local_f0 = local_f0 + 1" (identifier "local_f0") (= "=") (binary_expression "local_f0 + 1" (identifier "local_f0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;" (if "if") (parenthesized_expression "(*(uint *)(iVar34 + 0x38) <= local_f0)" (( "(") (binary_expression "*(uint *)(iVar34 + 0x38) <= local_f0" (pointer_expression "*(uint *)(iVar34 + 0x38)" (* "*") (cast_expression "(uint *)(iVar34 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + 0x38)" (( "(") (binary_expression "iVar34 + 0x38" (identifier "iVar34") (+ "+") (number_literal "0x38")) () ")")))) (<= "<=") (identifier "local_f0")) () ")")) (goto_statement "goto LAB_00063fc0;" (goto "goto") (statement_identifier "LAB_00063fc0") (; ";"))) (goto_statement "goto LAB_00063757;" (goto "goto") (statement_identifier "LAB_00063757") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

int function_1(type_1 *section,void *file)

{
  type_2 *var_11;
  type_2 *var_6;
  type_3 *var_46;
  type_3 *var_45;
  int iVar5;
  bool bVar6;
  type_3 dVar7;
  type_4 *puVar8;
  bool bVar9;
  type_5 *var_2;
  char *var_10;
  type_2 *var_16;
  type_2 *var_18;
  char *pcVar14;
  type_3 **var_31;
  type_6 var_25;
  type_7 var_40;
  char *pcVar18;
  type_8 *var_42;
  int var_60;
  type_6 var_28;
  type_6 var_27;
  type_6 var_26;
  type_2 *var_68;
  type_2 *puVar25;
  type_2 *var_56;
  type_2 *var_76;
  type_9 uVar28;
  char *pcVar29;
  type_5 var_52;
  int var_3;
  type_1 *section_1;
  type_1 *extraout_ECX;
  type_8 *pdVar32;
  type_10 *pFVar33;
  type_2 *var_13;
  type_6 var_19;
  type_2 *var_17;
  type_2 *var_62;
  type_5 *var_4;
  type_2 *var_55;
  type_6 var_23;
  bool var_5;
  bool var_50;
  type_5 var_53;
  type_11 var_14;
  type_12 var_78;
  type_12 var_77;
  type_3 var_66;
  type_3 var_67;
  type_3 length;
  type_6 *puVar49;
  type_2 *var_12;
  type_13 **in_stack_fffffef4;
  type_14 var_57;
  type_6 var_79;
  type_6 var_80;
  type_2 *var_29;
  type_2 *var_30;
  type_2 *var_47;
  int var_83;
  type_3 local_e4;
  type_14 var_58;
  type_2 *var_15;
  type_6 var_34;
  int var_33;
  type_6 var_81;
  type_6 var_73;
  type_6 var_72;
  type_14 local_ac;
  type_6 var_71;
  type_6 local_94;
  type_2 *var_41;
  int var_82;
  type_1 *var_24;
  type_6 var_51;
  void *local_5c;
  type_6 local_34;
  type_2 *var_49;
  type_2 *var_86;
  type_6 var_64;
  type_9 uStack_14;
  
  var_53 = 0;
  uStack_14 = 0x63029;
  var_86 = (type_2 *)0x0;
  var_11 = section->var_49;
  var_10 = section->name;
  var_49 = var_11;
  var_2 = (type_5 *)var_1(var_10,0x2e);
  var_51 = 0;
  var_5 = false;
  var_50 = var_2 == (type_5 *)0x0;
  if (!var_50) {
    var_3 = 5;
    var_4 = (type_5 *)0x9432f;
    do {
      if (var_3 == 0) break;
      var_3 = var_3 + -1;
      var_5 = *var_2 < *var_4;
      var_50 = *var_2 == *var_4;
      var_2 = var_2 + (type_6)var_53 * -2 + 1;
      var_4 = var_4 + (type_6)var_53 * -2 + 1;
    } while (var_50);
    var_51 = (type_6)((!var_5 && !var_50) == var_5);
  }
  var_6 = *(type_2 **)&section->size;
  if (var_6 == (type_2 *)0x0) {
    pcVar14 = (char *)var_7(0,"\nThe %s section is empty.\n",5);
    var_8(pcVar14,var_10);
    return 0;
  }
  pcVar14 = "debug_loclists";
  var_10 = var_9(var_10,"debug_loclists");
  if (var_10 != (char *)0x0) {
    var_12 = var_11 + 4;
    var_13 = var_11 + (int)var_6;
    var_15 = var_12;
    if (var_12 < var_13) {
      var_16 = (type_2 *)0x4;
LAB_000630f8:
      in_stack_fffffef4 = &byte_get;
      var_14 = (*byte_get)(var_11,(int)var_16);
      if (var_14 == 0xffffffff) {
        var_15 = var_11 + 0xc;
        if (var_15 < var_13) {
          var_16 = (type_2 *)0x8;
        }
        else {
          if ((var_13 <= var_12) || ((type_2 *)0x7 < var_6 + -5)) goto LAB_00063148;
          var_16 = var_6 + -4;
        }
        (**in_stack_fffffef4)(var_12,(int)var_16);
      }
      var_12 = var_15 + 2;
      if (var_12 < var_13) {
        var_16 = (type_2 *)0x2;
      }
      else if ((var_13 <= var_15) ||
              (var_16 = var_13 + -(int)var_15, (type_2 *)0x7 < var_16 + -1)) goto LAB_00063137;
LAB_0006315d:
      var_14 = (**in_stack_fffffef4)(var_15,(int)var_16);
      if ((type_15)var_14 == 5) {
        var_17 = var_15 + 3;
        if (var_17 < var_13) {
          var_18 = (type_2 *)0x1;
LAB_000631c0:
          (**in_stack_fffffef4)(var_12,(int)var_18);
          if (var_15 + 4 < var_13) goto LAB_000633ff;
          var_16 = var_18;
          if ((var_17 < var_13) &&
             (pcVar14 = (char *)(var_13 + -(int)var_17), (type_2 *)pcVar14 + -1 < (type_2 *)0x8))
          goto LAB_00063404;
LAB_000631f5:
          pcVar14 = (char *)var_16;
          if (var_15 + 8 < var_13) goto LAB_000631fc;
        }
        else {
          if ((var_12 < var_13) &&
             (var_18 = var_13 + -(int)var_12, var_18 + -1 < (type_2 *)0x8)) goto LAB_000631c0;
          if (var_13 <= var_15 + 4) goto LAB_000631f5;
LAB_000633ff:
          pcVar14 = (char *)0x1;
LAB_00063404:
          var_14 = (**in_stack_fffffef4)(var_17,(int)pcVar14);
          var_19 = (type_6)var_14;
          if ((char)var_14 != '\0') {
            var_10 = section->name;
            pcVar14 = (char *)var_7(0,
                                        "The %s section contains unsupported segment selector size: %d.\n"
                                        ,5);
            var_19 = var_19 & 0xff;
            goto LAB_0006500d;
          }
          if (var_15 + 8 < var_13) {
LAB_000631fc:
            var_13 = (type_2 *)0x4;
          }
          else if ((var_13 <= var_15 + 4) ||
                  (var_13 = var_13 + -(int)(var_15 + 4), (type_2 *)0x7 < var_13 + -1))
          goto LAB_00063219;
          var_14 = (**in_stack_fffffef4)(var_15 + 4,(int)var_13);
          var_19 = (type_6)var_14;
          pcVar14 = (char *)var_13;
          if (var_19 != 0) {
            pcVar14 = section->name;
            var_10 = "The %s section contains unsupported offset entry count: %d.\n";
            goto LAB_00063189;
          }
        }
LAB_00063219:
        var_15 = var_15 + (8 - (int)var_11);
        var_34 = (int)var_15 >> 0x1f;
        goto LAB_0006322d;
      }
      var_19 = (type_6)(type_15)var_14;
    }
    else {
      if ((var_11 < var_13) && (var_16 = var_6, var_6 + -1 < (type_2 *)0x8)) goto LAB_000630f8;
LAB_00063148:
      var_12 = var_15 + 2;
      if (var_12 < var_13) {
        in_stack_fffffef4 = &byte_get;
        var_16 = (type_2 *)0x2;
        goto LAB_0006315d;
      }
LAB_00063137:
      var_19 = 0;
    }
    pcVar14 = section->name;
    var_10 = "The %s section contains corrupt or unsupported version number: %d.\n";
LAB_00063189:
    var_10 = (char *)var_7(0,var_10,5);
    var_20(var_10,pcVar14,var_19);
    return 0;
  }
  var_15 = (type_2 *)0x0;
  var_34 = 0;
LAB_0006322d:
  var_19 = var_21(in_stack_fffffef4);
  if (var_19 == 0) {
    var_10 = section->name;
    var_19 = 5;
    pcVar14 = (char *)var_7(0,
                                "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"
                                ,5);
LAB_0006500d:
    var_20(pcVar14,var_10,var_19);
    return 0;
  }
  if (var_22 == 0) {
    var_58._0_4_ = 0;
    var_41 = (type_2 *)0x0;
    var_24 = (type_1 *)0x1;
    var_33 = 0;
  }
  else {
    var_5 = false;
    var_30 = (type_2 *)0x0;
    var_41 = (type_2 *)0x0;
    var_31 = &var_44->loc_offsets;
    var_24 = (type_1 *)0x1;
    var_29 = (type_2 *)0x0;
    var_19 = 0;
    var_58._0_4_ = 0;
    do {
      var_23 = (type_6)var_31[3];
      if ((type_6)var_58 < var_23) {
        var_58._0_4_ = var_23;
      }
      if ((var_23 != 0) && (var_24 != (type_1 *)0x0)) {
        if (!var_5) {
          var_19 = (type_6)**var_31;
          var_29 = (type_2 *)*var_31[1];
          var_41 = var_30;
        }
        var_25 = (type_6)!var_5;
        if (var_25 < var_23) {
          var_46 = *var_31;
          var_26 = *(type_6 *)((int)var_46 + var_25 * 8 + 4);
          var_27 = var_19;
          if (((type_6)var_46[var_25] < var_19) <= var_26) {
            var_28 = (type_6)var_46[var_25];
            do {
              var_19 = var_28;
              var_28 = (type_6)var_31[1][var_25];
              if ((var_26 == 0 && var_27 == var_19) &&
                 (*(type_6 *)((int)var_31[1] + var_25 * 8 + 4) < (type_6)(var_28 < var_29))) break;
              var_25 = var_25 + 1;
              var_29 = (type_2 *)var_28;
              if (var_23 == var_25) goto LAB_00063450;
              var_26 = *(type_6 *)((int)var_46 + var_25 * 8 + 4);
              var_27 = var_19;
              var_28 = (type_6)var_46[var_25];
            } while (((type_6)var_46[var_25] < var_19) <= var_26);
          }
          var_24 = (type_1 *)0x0;
          var_5 = true;
          var_19 = var_27;
        }
        else {
LAB_00063450:
          var_24 = (type_1 *)0x1;
          var_5 = true;
        }
      }
      var_30 = var_30 + 1;
      var_31 = var_31 + 0x14;
    } while ((type_2 *)var_22 != var_30);
    var_33 = (int)var_41 * 0x50;
    if (var_5) goto LAB_00063484;
  }
  pcVar14 = "No location lists in .debug_info section!\n";
  pcVar18 = (char *)var_7(0,"No location lists in .debug_info section!\n",5);
  var_32(pcVar18);
LAB_00063484:
  if (((*(int *)((int)&var_44->num_loc_offsets + var_33) != 0) &&
      (puVar49 = *(type_6 **)((int)&var_44->loc_offsets + var_33),
      var_12 = (type_2 *)*puVar49, var_34 != puVar49[1] || var_15 != var_12)) &&
     (puVar49 = *(type_6 **)((int)&var_44->loc_views + var_33),
     var_34 != puVar49[1] || var_15 != (type_2 *)*puVar49)) {
    pcVar18 = var_35("x",var_36(pcVar14) << 0x20,(type_6)var_12);
    pcVar14 = section->name;
    pcVar29 = (char *)var_7(0,"Location lists in %s section start at 0x%s\n",5);
    var_20(pcVar29,pcVar14,pcVar18);
  }
  local_5c = (void *)0x0;
  section_1 = var_24;
  if (var_24 == (type_1 *)0x0) {
    local_5c = var_37((type_6)var_58,4);
    section_1 = extraout_ECX;
  }
  var_38((type_1 *)section->name,(type_7)&section->filename,section_1);
  var_40 = var_39(section,0);
  if (var_40 != 0) {
    pcVar14 = (char *)var_7(0,
                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"
                                ,5);
    var_8(pcVar14);
  }
  pcVar14 = "    Offset   Begin            End              Expression\n";
  var_12 = (type_2 *)0x5;
  pcVar18 = (char *)var_7(0,"    Offset   Begin            End              Expression\n",5);
  var_8(pcVar18);
  puVar8 = PTR_stdout_000b3fd8;
  if (var_41 < var_22) {
    var_5 = false;
    var_42 = var_44;
    do {
      pdVar32 = var_42 + (int)var_41;
      var_13 = (type_2 *)pdVar32->num_loc_offsets;
      if (var_24 == (type_1 *)0x0) {
        if (var_13 != (type_2 *)0x0) {
          var_12 = (type_2 *)0x0;
          do {
            *(type_2 **)((int)local_5c + (int)var_12 * 4) = var_12;
            var_13 = (type_2 *)pdVar32->num_loc_offsets;
            var_12 = var_12 + 1;
          } while (var_12 < var_13);
        }
        loc_offsets = pdVar32->loc_offsets;
        loc_views = pdVar32->loc_views;
        var_12 = (type_2 *)0x4;
        pcVar14 = (char *)var_13;
        var_43(local_5c,(size_t)var_13,4,loc_offsets_compar);
        pdVar32 = var_44 + (int)var_41;
        var_13 = (type_2 *)pdVar32->num_loc_offsets;
        var_42 = var_44;
      }
      var_50 = true;
      var_30 = (type_2 *)0x0;
      if (var_13 != (type_2 *)0x0) {
LAB_00063757:
        var_46 = pdVar32->loc_views;
        var_45 = pdVar32->loc_offsets;
        if (var_24 == (type_1 *)0x0) {
          var_47 = *(type_2 **)((int)local_5c + (int)var_30 * 4);
          var_19 = *(type_6 *)((int)var_45 + (int)var_47 * 8 + 4);
          pcVar18 = *(char **)(var_45 + (int)var_47);
          var_13 = *(type_2 **)(var_46 + (int)var_47);
          var_29 = *(type_2 **)((int)var_46 + (int)var_47 * 8 + 4);
          if (var_30 != (type_2 *)0x0) {
            var_83 = *(int *)((int)local_5c + (int)var_30 * 4 + -4) << 3;
            goto LAB_0006389e;
          }
          var_3 = (int)var_47 << 2;
LAB_000635f2:
          var_3 = *(int *)((int)pdVar32->have_frame_base + var_3);
          var_17 = var_11 + (int)pcVar18;
          local_e4 = pdVar32->base_address;
          var_16 = (type_2 *)pcVar18;
          if (((type_6)var_29 & (type_6)var_13) == 0xffffffff) {
            var_47 = (type_2 *)0x0;
            bVar6 = false;
          }
          else {
            var_47 = var_11 + (int)var_13;
            bVar9 = var_47 < var_17 && var_47 != (type_2 *)0x0;
            bVar6 = var_47 != (type_2 *)0x0;
            if ((bVar9) &&
               (var_86 = var_47,
               var_48(section,&var_86,(type_6)var_17,(type_2 *)pcVar14), bVar6 = bVar9
               , var_49 == var_47)) {
              var_49 = var_86;
            }
          }
          var_18 = var_49;
          if (var_5 && var_50) {
            if (var_49 < var_17) {
              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";
            }
            else {
              if (var_49 <= var_17) goto LAB_000636b8;
              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";
            }
            pcVar14 = (char *)var_7(0,pcVar14,5);
            var_12 = (type_2 *)pcVar18;
            var_20(pcVar14,(int)var_18 - (int)var_11,pcVar18);
          }
LAB_000636b8:
          var_86 = var_47;
          var_49 = var_17;
          if ((var_16 < var_6) <= var_19) {
            var_12 = (type_2 *)0x5;
            pcVar14 = (char *)var_7(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5
                                       );
LAB_0006371f:
            var_20(pcVar14);
            var_5 = true;
            pcVar14 = pcVar18;
            var_42 = var_44;
            goto LAB_0006373a;
          }
          if ((var_47 != (type_2 *)0x0) && ((type_6)(var_13 < var_6) <= var_29)) {
            var_12 = (type_2 *)0x5;
            pcVar14 = (char *)var_7(0,
                                        "View Offset 0x%lx is bigger than .debug_loc section size.\n"
                                       );
            pcVar18 = (char *)var_13;
            goto LAB_0006371f;
          }
          if (var_10 == (char *)0x0) {
            var_13 = section->var_49 + (int)section->size;
            if (var_51 == 0) {
              if (var_22 <= var_41) {
                pcVar14 = "No debug information available for loc lists of entry: %u\n";
                goto LAB_00064bdb;
              }
              var_42 = var_44 + (int)var_41;
              var_18 = (type_2 *)var_42->pointer_size;
              if (var_18 + -2 < (type_2 *)0x7) {
                dVar7 = var_42->cu_offset;
                var_25 = var_42->offset_size;
                iVar5 = var_42->dwarf_version;
                var_23 = (int)var_18 * 8 - 1;
                var_52 = (type_5)var_23;
                var_53 = var_52 & 0x1f;
                var_28 = -2 << (var_52 & 0x1f);
                var_27 = var_28;
                var_26 = -1 << var_53 | 0xfffffffeU >> 0x20 - var_53;
                if ((var_23 & 0x20) != 0) {
                  var_27 = 0;
                  var_26 = var_28;
                }
                var_27 = ~var_27;
                var_26 = ~var_26;
                var_55 = var_17;
                var_62 = var_47;
                while( true ) {
                  var_23 = (int)var_55 - (int)var_49;
                  var_68 = var_16 + var_23;
                  var_60 = ((int)var_23 >> 0x1f) + var_19 + (type_6)var_54(var_23,(type_6)var_16);
                  var_12 = var_55 + (int)var_18 * 2;
                  if (var_13 < var_12) break;
                  var_8("    %8.8lx ",var_68);
                  var_56 = var_55 + (int)var_18;
                  puVar25 = var_18;
                  var_76 = var_18;
                  if (var_56 < var_13) {
LAB_00064528:
                    var_57 = (*byte_get)(var_55,(int)puVar25);
                    if ((var_12 == var_13) &&
                       ((var_13 <= var_56 ||
                        (var_76 = var_13 + -(int)var_56,
                        (type_2 *)0x7 < var_13 + -(int)var_56 + -1)))) {
                      var_57._4_4_ = (type_6)(var_57 >> 0x20);
                      var_58 = 0;
                      var_23 = (type_6)var_57;
                      var_28 = var_57._4_4_;
                    }
                    else {
LAB_00064624:
                      var_58 = (*byte_get)(var_56,(int)var_76);
                      var_23 = (type_6)var_57 | (type_6)var_58;
                      var_28 = var_57._4_4_ | (type_6)(var_58 >> 0x20);
                    }
                    if (var_28 == 0 && var_23 == 0) goto LAB_00064257;
                  }
                  else {
                    if (var_13 <= var_55) {
                      if (var_12 == var_13) goto LAB_00064230;
LAB_0006460a:
                      var_57 = 0;
                      goto LAB_00064624;
                    }
                    puVar25 = var_13 + -(int)var_55;
                    if (var_13 + -(int)var_55 + -1 < (type_2 *)0x8) goto LAB_00064528;
                    if (var_12 != var_13) goto LAB_0006460a;
LAB_00064230:
                    var_57 = 0;
                    var_58 = 0;
LAB_00064257:
                    var_40 = var_39(section,var_59(var_60,var_68));
                    if ((var_40 == 0) &&
                       (var_40 = var_39(section,var_59(var_60 + (type_6)var_54((type_6)var_18,
                                                                                 (type_6)var_68),
                                                           var_18 + (int)var_68)), var_40 == 0)) {
                      pcVar18 = "<End of list>\n";
                      var_12 = (type_2 *)0x5;
                      pcVar14 = (char *)var_7(0,"<End of list>\n",5);
                      var_8(pcVar14);
                      var_49 = var_56 + (int)var_18;
                      var_86 = var_62;
                      goto LAB_000637dc;
                    }
                  }
                  var_55 = var_56 + (int)var_18;
                  if (((var_26 & var_57._4_4_) == var_26 && (var_27 & (type_6)var_57) == var_27)
                     && ((var_26 & var_58._4_4_) != var_26 || (var_27 & (type_6)var_58) != var_27)
                     ) {
                    var_61(var_59(var_19,var_16),(type_6)var_57);
                    var_61(var_59(var_19,var_16),(type_6)var_58);
                    pcVar14 = (char *)var_7(0,"(base address)\n",5);
                    var_8(pcVar14);
                    local_e4 = var_58;
                  }
                  else {
                    if (var_62 == (type_2 *)0x0) {
                      local_ac = 0xffffffff;
                      var_71 = 0xffffffff;
                      var_66 = 0xffffffffffffffff;
                      var_5 = var_55 + 2 == var_13;
                      if (var_13 < var_55 + 2) break;
                    }
                    else {
                      var_68 = var_16 + ((int)var_62 - (int)var_49);
                      var_12 = var_62;
                      puVar49 = &var_64;
                      var_66 = var_63(var_62,&var_64,0,var_13);
                      var_62 = var_62 + var_64;
                      var_65(var_59(puVar49,var_12),(type_6)var_66,(int)(var_66 >> 0x20))
                      ;
                      var_67 = var_63(var_62,&var_64,0,var_13);
                      var_71 = (type_6)(var_67 >> 0x20);
                      var_62 = var_62 + var_64;
                      local_ac = var_67 & 0xffffffff;
                      var_65(var_59(var_19,var_16),(type_6)var_67,var_71);
                      pcVar14 = (char *)var_7(0,"views at %8.8lx for:\n    %*s ",5);
                      var_8(pcVar14,var_68,8,&DAT_0007bc55);
                      var_5 = var_55 + 2 == var_13;
                      if (var_13 <= var_55 + 2 && !var_5) break;
                    }
                    var_72 = (type_6)(var_66 >> 0x20);
                    var_73 = (type_6)var_66;
                    var_68 = var_55 + 2;
                    if ((var_5) && (var_13 <= var_55)) {
                      local_94 = 0;
                      var_55 = var_13;
                    }
                    else {
                      var_14 = (*byte_get)(var_55,2);
                      var_55 = var_68 + ((type_6)var_14 & 0xffff);
                      if (var_13 < var_55) {
                        var_12 = (type_2 *)0x5;
                        pcVar14 = (char *)var_7(0,
                                                  "Location list starting at offset 0x%lx is not terminated.\n"
                                                  ,5);
                        var_20(pcVar14);
                        var_49 = var_68;
                        var_86 = var_62;
                        goto LAB_000637dc;
                      }
                      local_94 = (type_6)var_14 & 0xffff;
                    }
                    var_61(var_59(var_19,var_16),(type_6)local_e4 + (type_6)var_57);
                    var_61(var_59(var_19,var_16),(type_6)local_e4 + (type_6)var_58);
                    var_69(0x28,*(type_10 **)puVar8);
                    var_60 = var_70
                                       (var_68,(type_6)var_18,var_25,iVar5,(type_12)local_94,
                                        (type_12)(type_6)dVar7,section);
                    var_69(0x29,*(type_10 **)puVar8);
                    if ((var_60 != 0) && (var_3 == 0)) {
                      pcVar14 = (char *)var_7(0," [without DW_AT_frame_base]",5);
                      var_8(pcVar14);
                    }
                    pFVar33 = *(type_10 **)puVar8;
                    if ((var_66 != var_59(var_71,(type_6)local_ac)) ||
                       ((type_6)var_57 != (type_6)var_58 || var_57._4_4_ != var_58._4_4_)) {
                      if ((var_58._4_4_ < var_57._4_4_ ||
                           var_58._4_4_ - var_57._4_4_ <
                           (type_6)((type_6)var_58 < (type_6)var_57)) ||
                         ((var_71 < var_72 ||
                           var_71 - var_72 < (type_6)((type_6)local_ac < var_73) &&
                          ((type_6)var_57 == (type_6)var_58 && var_57._4_4_ == var_58._4_4_)))
                         ) {
                        pcVar14 = (char *)var_7(0," (start > end)",5);
                        var_74(pcVar14,pFVar33);
                        pFVar33 = *(type_10 **)puVar8;
                      }
                    }
                    else {
                      pcVar14 = (char *)var_7(0," (start == end)",5);
                      var_74(pcVar14,pFVar33);
                      pFVar33 = *(type_10 **)puVar8;
                    }
                    var_69(10,pFVar33);
                  }
                }
                var_12 = (type_2 *)0x5;
                pcVar14 = (char *)var_7(0,
                                            "Location list starting at offset 0x%lx is not terminated.\n"
                                            ,5);
                var_20(pcVar14);
                var_49 = var_55;
                var_86 = var_62;
              }
              else {
                pcVar14 = (char *)var_7(0,
                                            "Invalid pointer size (%d) in debug info for entry %d\n"
                                            ,5);
                var_12 = var_41;
                var_20(pcVar14,var_18,var_41);
                pcVar18 = (char *)var_18;
              }
            }
            else if (var_41 < var_22) {
              var_42 = var_44 + (int)var_41;
              var_18 = (type_2 *)var_42->pointer_size;
              if (var_18 + -2 < (type_2 *)0x7) {
                dVar7 = var_42->cu_offset;
                var_23 = var_42->offset_size;
                iVar5 = var_42->dwarf_version;
                var_62 = var_17;
                var_55 = var_47;
LAB_00063ec0:
                do {
                  var_8("    %8.8lx ",(type_2 *)pcVar18 + ((int)var_62 - (int)var_49));
                  if (var_13 <= var_62) goto LAB_00064ec7;
                  var_68 = var_62 + 1;
                  var_25 = var_51;
                  if ((var_13 <= var_68) &&
                     (var_25 = (int)var_13 - (int)var_62, 7 < ((int)var_13 - (int)var_62) - 1U))
                  {
_L4116:
                    pcVar18 = "<End of list>\n";
                    var_12 = (type_2 *)0x5;
                    var_49 = var_68;
                    var_86 = var_55;
                    pcVar14 = (char *)var_7(0);
                    var_8(pcVar14,pcVar18,var_12);
                    goto LAB_000637dc;
                  }
                  var_14 = (*byte_get)(var_62,var_25);
                  var_56 = (type_2 *)var_14;
                  if (var_55 != (type_2 *)0x0) {
                    if (var_56 + -2 < (type_2 *)0x3) {
                      var_76 = var_16 + ((int)var_55 - (int)var_49);
                      var_12 = var_55;
                      puVar49 = &var_64;
                      var_66 = var_63(var_55,&var_64,0,var_13);
                      var_55 = var_55 + var_64;
                      var_65(var_59(puVar49,var_12),(type_6)var_66,(int)(var_66 >> 0x20))
                      ;
                      var_66 = var_63(var_55,&var_64,0,var_13);
                      var_55 = var_55 + var_64;
                      var_65(var_59(var_19,var_16),(type_6)var_66,(int)(var_66 >> 0x20));
                      var_12 = (type_2 *)0x5;
                      pcVar14 = (char *)var_7(0,"views at %8.8lx for:\n    %*s ",5);
                      var_8(pcVar14,var_76,8,&DAT_0007bc55);
                      switch(var_56) {
                      case (type_2 *)0x2:
                        goto _L4123;
                      case (type_2 *)0x3:
                        goto _L4122;
                      case (type_2 *)0x4:
                        goto _L4120;
                      }
                    }
                    else {
                      switch(var_56) {
                      case (type_2 *)0x0:
                        goto _L4116;
                      case (type_2 *)0x1:
                        var_66 = var_63(var_68,&var_64,0,var_13);
                        var_25 = var_64;
                        var_75((type_6)var_66,(type_6)(var_66 >> 0x20));
                        uVar28 = 0x15;
                        goto LAB_00064b2b;
                      }
                    }
switchD_000648e8_caseD_3:
                    var_12 = (type_2 *)0x5;
                    pcVar14 = (char *)var_7(0,"Unknown location list entry type 0x%x.\n",5);
                    var_20(pcVar14);
                    pcVar18 = (char *)var_56;
                    var_49 = var_68;
                    var_86 = var_55;
                    goto LAB_000637dc;
                  }
                  switch(var_56) {
                  case (type_2 *)0x0:
                    goto _L4116;
                  case (type_2 *)0x1:
                    var_66 = var_63(var_68,&var_64,0,var_13);
                    var_25 = var_64;
                    var_75((type_6)var_66,(type_6)(var_66 >> 0x20));
                    uVar28 = 9;
LAB_00064b2b:
                    var_62 = var_68 + var_25;
                    var_8("%*s",uVar28,&DAT_0007bc55);
                    var_12 = (type_2 *)0x5;
                    pcVar14 = (char *)var_7(0,"(base address selection entry)\n",5);
                    var_8(pcVar14);
                    goto LAB_00063ec0;
                  case (type_2 *)0x2:
_L4123:
                    var_12 = (type_2 *)0x0;
                    var_66 = var_63(var_68,&var_64,0,var_13);
                    var_68 = var_68 + var_64;
                    var_75((type_6)var_66,(type_6)(var_66 >> 0x20));
                    var_66 = var_63(var_68,&var_64,0,var_13);
                    var_62 = var_68 + var_64;
                    var_75((type_6)var_66,(type_6)(var_66 >> 0x20));
                    break;
                  case (type_2 *)0x3:
_L4122:
                    var_12 = (type_2 *)0x0;
                    var_66 = var_63(var_68,&var_64,0,var_13);
                    var_68 = var_68 + var_64;
                    var_75((type_6)var_66,(type_6)(var_66 >> 0x20));
                    var_62 = var_68 + 4;
                    if (var_62 < var_13) {
                      var_60 = 4;
LAB_00064e5d:
                      var_14 = (*byte_get)(var_68,var_60);
                      uVar28 = (type_9)var_14;
                    }
                    else {
                      uVar28 = 0;
                      if ((var_68 < var_13) &&
                         (var_60 = (int)var_13 - (int)var_68, var_60 - 1U < 8)) goto LAB_00064e5d;
                    }
                    var_8("%08x ",uVar28);
                    break;
                  case (type_2 *)0x4:
_L4120:
                    var_56 = var_62 + 5;
                    if (var_56 < var_13) {
                      var_14 = (*byte_get)(var_68,4);
                      var_8("%08x ",(int)var_14);
                      var_76 = var_12;
                      if (var_62 + 9 < var_13) goto LAB_00064ad0;
                      var_60 = (int)var_13 - (int)var_56;
                      if (7 < var_60 - 1U) {
                        uVar28 = 0;
                        goto LAB_00064ae3;
                      }
LAB_00064ad5:
                      var_14 = (*byte_get)(var_56,var_60);
                      uVar28 = (type_9)var_14;
                    }
                    else {
                      if (var_68 < var_13) {
                        var_76 = (type_2 *)(((int)var_13 - (int)var_68) - 1);
                        if (var_76 < (type_2 *)0x8) {
                          var_12 = var_76;
                          var_14 = (*byte_get)(var_68,(int)var_13 - (int)var_68);
                          var_8("%08x ",(int)var_14,var_76,var_12);
                          uVar28 = 0;
                          var_12 = var_76;
                          if (var_13 <= var_62 + 9) goto LAB_00064ae3;
                          goto LAB_00064ad0;
                        }
                      }
                      var_8("%08x ",0);
                      uVar28 = 0;
                      var_76 = var_12;
                      if (var_62 + 9 < var_13) {
LAB_00064ad0:
                        var_60 = 4;
                        var_12 = var_76;
                        goto LAB_00064ad5;
                      }
                    }
LAB_00064ae3:
                    var_62 = var_62 + 9;
                    var_8("%08x ",uVar28,var_12);
                    break;
                  default:
                    goto switchD_000648e8_caseD_3;
                  }
                  var_68 = var_62 + 2;
                  if (var_13 < var_68) goto LAB_00064ec7;
                  if ((var_68 == var_13) && (var_13 <= var_62)) {
                    local_34 = 0;
                    var_62 = var_13;
                  }
                  else {
                    var_14 = (*byte_get)(var_62,2);
                    var_62 = var_68 + ((type_6)var_14 & 0xffff);
                    if (var_13 < var_62) {
                      var_12 = (type_2 *)0x5;
                      pcVar14 = (char *)var_7(0,
                                                  "Location list starting at offset 0x%lx is not terminated.\n"
                                                 );
                      var_20(pcVar14);
                      var_49 = var_68;
                      var_86 = var_55;
                      goto LAB_000637dc;
                    }
                    local_34 = (type_6)var_14 & 0xffff;
                  }
                  var_69(0x28,*(type_10 **)puVar8);
                  var_60 = var_70
                                     (var_68,(type_6)var_18,var_23,iVar5,(type_12)local_34,
                                      (type_12)(type_6)dVar7,section);
                  var_69(0x29,*(type_10 **)puVar8);
                  if ((var_60 != 0) && (var_3 == 0)) {
                    pcVar14 = " [without DW_AT_frame_base]";
                    var_12 = (type_2 *)0x5;
                    pcVar29 = (char *)var_7(0," [without DW_AT_frame_base]");
                    var_8(pcVar29,pcVar14,var_12);
                  }
                  var_69(10,*(type_10 **)puVar8);
                } while( true );
              }
              pcVar14 = (char *)var_7(0,"Invalid pointer size (%d) in debug info for entry %d\n"
                                          ,5);
              var_12 = var_41;
              var_20(pcVar14,var_18,var_41);
              pcVar18 = (char *)var_18;
            }
            else {
              pcVar14 = "No debug information for loc lists of entry: %u\n";
LAB_00064bdb:
              var_12 = (type_2 *)0x5;
              pcVar14 = (char *)var_7(0,pcVar14);
              pcVar18 = (char *)var_41;
              var_20(pcVar14);
            }
          }
          else if (var_51 == 0) {
            if (var_22 <= var_41) {
              pcVar14 = "No debug information available for loclists lists of entry: %u\n";
              goto LAB_00064bdb;
            }
            var_42 = var_44 + (int)var_41;
            var_13 = (type_2 *)var_42->pointer_size;
            if (var_13 + -2 < (type_2 *)0x7) {
              var_77 = 0xffffffffffffffff;
              var_58 = 0xffffffff;
              dVar7 = var_42->cu_offset;
              var_81 = -1;
              var_62 = section->var_49 + (int)section->size;
              var_23 = var_42->offset_size;
              iVar5 = var_42->dwarf_version;
              var_18 = var_17;
              var_29 = var_47;
              var_12 = var_16;
              while( true ) {
                var_55 = var_18 + 1;
                var_78 = var_59(var_81,(int)var_58);
                if (var_62 < var_55) break;
                var_8("    %8.8lx ",var_16);
                if ((var_62 == var_55) && (var_62 <= var_18)) {
LAB_000639ce:
                  pcVar18 = "<End of list>\n";
                  var_12 = (type_2 *)0x5;
                  pcVar14 = (char *)var_7(0);
                  var_8(pcVar14,pcVar18,var_12);
                  var_18 = var_55;
                  goto LAB_000639ec;
                }
                var_14 = (*byte_get)(var_18,1);
                var_16 = (type_2 *)var_14;
                if ((var_29 == (type_2 *)0x0) || (var_16 != (type_2 *)0x4)) {
                  if (var_16 == (type_2 *)0x4) goto LAB_00063b0b;
                  if (var_16 < (type_2 *)0x5) {
                    if (var_16 == (type_2 *)0x0) goto LAB_000639ce;
LAB_00063e0a:
                    var_12 = (type_2 *)0x5;
                    pcVar14 = (char *)var_7(0,"Invalid location list entry type %d\n");
                    var_32(pcVar14);
                    pcVar18 = (char *)var_16;
                    goto LAB_000637dc;
                  }
                  if (var_16 == (type_2 *)0x6) {
                    var_18 = var_55 + (int)var_13;
                    var_16 = var_13;
                    if ((var_18 < var_62) ||
                       ((local_e4 = 0, var_55 < var_62 &&
                        (var_16 = var_62 + -(int)var_55,
                        var_62 + -(int)var_55 + -1 < (type_2 *)0x8)))) {
                      local_e4 = (*byte_get)(var_55,(int)var_16);
                    }
                    var_61(var_59(var_19,var_12),(type_6)local_e4);
                    pcVar14 = "(base address)\n";
                  }
                  else {
                    if (var_16 != (type_2 *)0x9) goto LAB_00063e0a;
                    if (var_29 != (type_2 *)0x0) {
                      pcVar14 = (char *)var_7(0,
                                                  "View pair entry in loclist with locviews attribute\n"
                                                  ,5);
                      var_8(pcVar14);
                    }
                    var_16 = var_55;
                    puVar49 = &var_64;
                    var_66 = var_63(var_55,&var_64,0,var_62);
                    var_81 = (type_6)(var_66 >> 0x20);
                    var_55 = var_55 + var_64;
                    var_58 = var_66 & 0xffffffff;
                    var_65(var_59(puVar49,var_16),(type_6)var_66,var_81);
                    var_77 = var_63(var_55,&var_64,0,var_62);
                    var_18 = var_55 + var_64;
                    var_65(var_59(var_19,var_12),(type_6)var_77,(int)(var_77 >> 0x20));
                    pcVar14 = "views for:\n";
                  }
                  pcVar14 = (char *)var_7(0,pcVar14,5);
                  var_8(pcVar14);
                }
                else {
                  var_18 = var_12 + ((int)var_29 - (int)var_49);
                  var_16 = var_29;
                  puVar49 = &var_64;
                  var_78 = var_63(var_29,&var_64,0,var_62);
                  var_29 = var_29 + var_64;
                  var_65(var_59(puVar49,var_16),(type_6)var_78,(int)(var_78 >> 0x20));
                  var_77 = var_63(var_29,&var_64,0,var_62);
                  var_29 = var_29 + var_64;
                  var_65(var_59(var_19,var_12),(type_6)var_77,(int)(var_77 >> 0x20));
                  pcVar14 = (char *)var_7(0,"views at %8.8lx for:\n    %*s ",5);
                  var_8(pcVar14,var_18,8,&DAT_0007bc55);
LAB_00063b0b:
                  var_81 = (type_6)(var_78 >> 0x20);
                  var_58._0_4_ = (type_6)var_78;
                  var_72 = (type_6)(var_77 >> 0x20);
                  var_73 = (type_6)var_77;
                  puVar49 = &var_64;
                  var_66 = var_63(var_55,puVar49,0,var_62);
                  var_55 = var_55 + var_64;
                  var_67 = var_63(var_55,puVar49,0,var_62);
                  var_18 = var_55 + var_64;
                  if (var_62 < var_18 + 2) {
                    var_12 = (type_2 *)0x5;
                    pcVar14 = (char *)var_7(0,
                                                "Location list starting at offset 0x%lx is not terminated.\n"
                                               );
                    var_20(pcVar14);
                    goto LAB_000639ec;
                  }
                  var_16 = var_18;
                  length = var_63(var_18,puVar49,0,var_62);
                  var_18 = var_18 + var_64;
                  var_79 = (type_6)var_66;
                  var_61(var_59(puVar49,var_16),var_79 + (type_6)local_e4);
                  local_ac._0_4_ = (type_6)var_67;
                  var_61(var_59(puVar49,var_16),(type_6)local_ac + (type_6)local_e4);
                  var_69(0x28,*(type_10 **)puVar8);
                  var_82 = (int)length;
                  var_60 = var_70
                                     (var_18,(type_6)var_13,var_23,iVar5,length,
                                      (type_12)(type_6)dVar7,section);
                  var_69(0x29,*(type_10 **)puVar8);
                  if ((var_60 != 0) && (var_3 == 0)) {
                    pcVar14 = (char *)var_7(0," [without DW_AT_frame_base]",5);
                    var_8(pcVar14);
                  }
                  local_ac._4_4_ = (type_6)(var_67 >> 0x20);
                  var_80 = (type_6)(var_66 >> 0x20);
                  pFVar33 = *(type_10 **)puVar8;
                  if ((var_77 != var_78) ||
                     (var_79 != (type_6)local_ac || var_80 != local_ac._4_4_)) {
                    if ((local_ac._4_4_ < var_80 ||
                         local_ac._4_4_ - var_80 < (type_6)((type_6)local_ac < var_79)) ||
                       ((var_72 < var_81 ||
                         var_72 - var_81 < (type_6)(var_73 < (type_6)var_58) &&
                        (var_79 == (type_6)local_ac && var_80 == local_ac._4_4_)))) {
                      pcVar14 = (char *)var_7(0," (start > end)",5);
                      var_74(pcVar14,pFVar33);
                      pFVar33 = *(type_10 **)puVar8;
                    }
                  }
                  else {
                    pcVar14 = (char *)var_7(0," (start == end)",5);
                    var_74(pcVar14,pFVar33);
                    pFVar33 = *(type_10 **)puVar8;
                  }
                  var_69(10,pFVar33);
                  var_18 = var_18 + var_82;
                  var_77 = 0xffffffffffffffff;
                  var_58 = 0xffffffff;
                  var_81 = -1;
                }
                var_16 = var_12 + ((int)var_18 - (int)var_49);
              }
              var_12 = (type_2 *)0x5;
              pcVar14 = (char *)var_7(0,
                                          "Location list starting at offset 0x%lx is not terminated.\n"
                                         );
              var_20(pcVar14);
LAB_000639ec:
              if ((var_77 & var_78) != 0xffffffffffffffff) {
                pcVar18 = "Trailing view pair not used in a range";
                var_12 = (type_2 *)0x5;
                pcVar14 = (char *)var_7(0);
                var_8(pcVar14,pcVar18,var_12);
              }
              var_49 = var_18;
              var_86 = var_29;
            }
            else {
              pcVar14 = (char *)var_7(0,"Invalid pointer size (%d) in debug info for entry %d\n"
                                          ,5);
              var_12 = var_41;
              var_20(pcVar14);
              pcVar18 = (char *)var_13;
            }
          }
          else {
            pcVar18 = "DWO is not yet supported.\n";
            var_12 = (type_2 *)0x5;
            pcVar14 = (char *)var_7(0);
            var_20(pcVar14);
          }
          goto LAB_000637dc;
        }
        if (var_30 == (type_2 *)0x0) {
          var_19 = *(type_6 *)((int)var_45 + 4);
          pcVar18 = *(char **)var_45;
          var_13 = *(type_2 **)var_46;
          var_29 = *(type_2 **)((int)var_46 + 4);
          var_3 = 0;
          goto LAB_000635f2;
        }
        var_47 = var_30;
        pcVar18 = *(char **)(var_45 + (int)var_30);
        var_83 = (int)var_30 * 8 + -8;
        var_19 = *(type_6 *)((int)var_45 + (int)var_30 * 8 + 4);
        var_29 = *(type_2 **)((int)var_46 + (int)var_30 * 8 + 4);
        var_13 = *(type_2 **)(var_46 + (int)var_30);
LAB_0006389e:
        if (((type_2 *)pcVar18 != *(type_2 **)((int)var_45 + var_83) ||
             var_19 != *(type_6 *)((int)var_45 + var_83 + 4)) ||
           (var_29 != (type_2 *)*(type_6 *)((int)var_46 + var_83 + 4) ||
            var_13 != *(type_2 **)((int)var_46 + var_83))) {
          var_3 = (int)var_47 << 2;
          goto LAB_000635f2;
        }
        goto LAB_0006373a;
      }
LAB_00063fc0:
      var_41 = var_41 + 1;
    } while (var_41 < var_22);
  }
  if (var_49 < section->var_49 + (int)section->size) {
    var_3 = (int)(section->var_49 + (int)section->size) - (int)var_49;
    var_10 = section->name;
    pcVar14 = (char *)var_84(0,"There is %ld unused byte at the end of section %s\n",
                                 "There are %ld unused bytes at the end of section %s\n",var_3,5);
    var_20(pcVar14,var_3,var_10);
  }
  var_69(10,*(type_10 **)puVar8);
  var_85(local_5c);
  return 1;
LAB_00064ec7:
  var_12 = (type_2 *)0x5;
  pcVar14 = (char *)var_7(0,"Location list starting at offset 0x%lx is not terminated.\n");
  var_20(pcVar14);
  var_49 = var_62;
  var_86 = var_55;
LAB_000637dc:
  if ((var_50) && (bVar6)) {
    if (var_49 == var_47) {
      var_50 = true;
    }
    else {
      if (var_17 == var_86) {
        var_50 = true;
        var_5 = true;
        pcVar14 = pcVar18;
        var_42 = var_44;
        goto LAB_0006373a;
      }
      pcVar18 = "Hole and overlap detection requires adjacent view lists and loclists.\n";
      var_12 = (type_2 *)0x5;
      pcVar14 = (char *)var_7(0);
      var_20(pcVar14);
      var_50 = false;
LAB_00063833:
      if (var_49 != var_47) goto LAB_00063844;
    }
    var_48(section,&var_49,(type_6)var_86,(type_2 *)pcVar18);
    var_5 = true;
    pcVar14 = pcVar18;
    var_42 = var_44;
  }
  else {
    if (var_47 != (type_2 *)0x0) goto LAB_00063833;
LAB_00063844:
    var_5 = true;
    pcVar14 = pcVar18;
    var_42 = var_44;
  }
LAB_0006373a:
  pdVar32 = var_42 + (int)var_41;
  var_30 = (type_2 *)((int)var_30 + 1);
  if (pdVar32->num_loc_offsets <= var_30) goto LAB_00063fc0;
  goto LAB_00063757;
}


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

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

undefined4 MASKED(int param_1)

{
  uint uVar1;
  uint uVar2;
  uint *puVar3;
  uint uVar4;
  bool bVar5;
  bool bVar6;
  undefined *puVar7;
  byte bVar8;
  bool bVar9;
  ushort uVar10;
  byte *pbVar11;
  char *pcVar12;
  undefined4 uVar13;
  char *pcVar14;
  undefined4 uVar15;
  int iVar16;
  int *piVar17;
  int iVar18;
  uint uVar19;
  uint *puVar20;
  uint uVar21;
  uint uVar22;
  uint uVar23;
  int iVar24;
  uint uVar25;
  uint uVar26;
  uint uVar27;
  int iVar28;
  size_t __nmemb;
  undefined4 uVar29;
  byte bVar30;
  int iVar31;
  int iVar32;
  uint uVar33;
  int iVar34;
  FILE *pFVar35;
  uint uVar36;
  uint uVar37;
  uint uVar38;
  uint uVar39;
  byte *pbVar40;
  bool bVar41;
  bool bVar42;
  longlong lVar43;
  ulonglong uVar44;
  ulonglong uVar45;
  longlong lVar46;
  undefined8 uVar47;
  ulonglong uVar48;
  uint local_10c;
  uint local_108;
  uint local_104;
  uint local_100;
  int local_fc;
  uint local_f4;
  uint local_f0;
  uint local_ec;
  int local_e8;
  int *local_e4;
  int *local_dc;
  uint local_d8;
  int local_d4;
  int local_d0;
  int local_cc;
  uint local_c8;
  uint local_bc;
  uint local_b0;
  uint local_ac;
  uint local_a4;
  uint local_8c;
  uint local_7c;
  uint local_68;
  void *local_5c;
  uint local_28;
  uint local_24;
  int local_20 [3];
  undefined4 uStack_14;
  
  bVar8 = 0;
  uStack_14 = 0x63029;
  uVar19 = *(uint *)(param_1 + 0x10);
  pcVar12 = *(char **)(param_1 + 8);
  pbVar11 = (byte *)strrchr(pcVar12,0x2e);
  local_68 = 0;
  bVar41 = false;
  bVar42 = pbVar11 == (byte *)0x0;
  if (!bVar42) {
    iVar31 = 5;
    pbVar40 = (byte *)0x9432f;
    do {
      if (iVar31 == 0) break;
      iVar31 = iVar31 + -1;
      bVar41 = *pbVar11 < *pbVar40;
      bVar42 = *pbVar11 == *pbVar40;
      pbVar11 = pbVar11 + (uint)bVar8 * -2 + 1;
      pbVar40 = pbVar40 + (uint)bVar8 * -2 + 1;
    } while (bVar42);
    local_68 = (uint)((!bVar41 && !bVar42) == bVar41);
  }
  uVar2 = *(uint *)(param_1 + 0x1c);
  if (uVar2 == 0) {
    pcVar14 = (char *)dcgettext(0,"\nThe %s section is empty.\n",5);
    printf(pcVar14,pcVar12);
    return 0;
  }
  pcVar12 = strstr(pcVar12,"debug_loclists");
  if (pcVar12 != (char *)0x0) {
    uVar38 = uVar19 + 4;
    uVar37 = uVar19 + uVar2;
    uVar39 = uVar38;
    if (uVar38 < uVar37) {
      uVar36 = 4;
LAB_000630f8:
      lVar43 = (*DAT_000b9dd8)(uVar19,uVar36);
      if (lVar43 == 0xffffffff) {
        uVar39 = uVar19 + 0xc;
        if (uVar39 < uVar37) {
          iVar31 = 8;
        }
        else {
          if ((uVar37 <= uVar38) || (7 < uVar2 - 5)) goto LAB_00063148;
          iVar31 = uVar2 - 4;
        }
        (*DAT_000b9dd8)(uVar38,iVar31);
      }
      uVar38 = uVar39 + 2;
      if (uVar38 < uVar37) {
        iVar31 = 2;
      }
      else if ((uVar37 <= uVar39) || (iVar31 = uVar37 - uVar39, 7 < iVar31 - 1U)) goto LAB_00063137;
LAB_0006315d:
      uVar10 = (*DAT_000b9dd8)(uVar39,iVar31);
      if (uVar10 == 5) {
        uVar36 = uVar39 + 3;
        if (uVar36 < uVar37) {
          iVar31 = 1;
LAB_000631c0:
          (*DAT_000b9dd8)(uVar38,iVar31);
          if (uVar39 + 4 < uVar37) {
LAB_000633ff:
            iVar31 = 1;
          }
          else if ((uVar37 <= uVar36) || (iVar31 = uVar37 - uVar36, 7 < iVar31 - 1U))
          goto LAB_000631f5;
          bVar8 = (*DAT_000b9dd8)(uVar36,iVar31);
          if (bVar8 != 0) {
            uVar15 = *(undefined4 *)(param_1 + 8);
            uVar13 = dcgettext(0,"The %s section contains unsupported segment selector size: %d.\n",
                               5);
            uVar19 = (uint)bVar8;
            goto LAB_0006500d;
          }
          if (uVar39 + 8 < uVar37) goto LAB_000631fc;
          if ((uVar39 + 4 < uVar37) && (iVar31 = uVar37 - (uVar39 + 4), iVar31 - 1U < 8))
          goto LAB_00063201;
        }
        else {
          if ((uVar38 < uVar37) && (iVar31 = uVar37 - uVar38, iVar31 - 1U < 8)) goto LAB_000631c0;
          if (uVar39 + 4 < uVar37) goto LAB_000633ff;
LAB_000631f5:
          if (uVar37 <= uVar39 + 8) goto LAB_00063219;
LAB_000631fc:
          iVar31 = 4;
LAB_00063201:
          uVar38 = (*DAT_000b9dd8)(uVar39 + 4,iVar31);
          if (uVar38 != 0) {
            uVar15 = *(undefined4 *)(param_1 + 8);
            pcVar12 = "The %s section contains unsupported offset entry count: %d.\n";
            goto LAB_00063189;
          }
        }
LAB_00063219:
        local_d4 = (uVar39 + 8) - uVar19;
        local_d0 = local_d4 >> 0x1f;
        goto LAB_0006322d;
      }
      uVar38 = (uint)uVar10;
    }
    else {
      if ((uVar19 < uVar37) && (uVar36 = uVar2, uVar2 - 1 < 8)) goto LAB_000630f8;
LAB_00063148:
      uVar38 = uVar39 + 2;
      if (uVar38 < uVar37) {
        iVar31 = 2;
        goto LAB_0006315d;
      }
LAB_00063137:
      uVar38 = 0;
    }
    uVar15 = *(undefined4 *)(param_1 + 8);
    pcVar12 = "The %s section contains corrupt or unsupported version number: %d.\n";
LAB_00063189:
    uVar13 = dcgettext(0,pcVar12,5);
    warn(uVar13,uVar15,uVar38);
    return 0;
  }
  local_d4 = 0;
  local_d0 = 0;
LAB_0006322d:
  iVar31 = FUN_00062460();
  if (iVar31 == 0) {
    uVar15 = *(undefined4 *)(param_1 + 8);
    uVar19 = 5;
    uVar13 = dcgettext(0,
                       "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"
                       ,5);
LAB_0006500d:
    warn(uVar13,uVar15,uVar19);
    return 0;
  }
  if (DAT_000b9d6c == 0) {
    local_dc = (int *)0x0;
    local_8c = 0;
    bVar41 = true;
    local_cc = 0;
  }
  else {
    bVar42 = false;
    local_f0 = 0;
    local_8c = 0;
    local_e4 = (int *)(DAT_000b9d64 + 0x2c);
    bVar41 = true;
    local_f4 = 0;
    local_104 = 0;
    local_dc = (int *)0x0;
    do {
      uVar38 = local_e4[3];
      if (local_dc < uVar38) {
        local_dc = (int *)uVar38;
      }
      if ((uVar38 != 0) && (bVar41)) {
        if (!bVar42) {
          local_104 = *(uint *)*local_e4;
          local_f4 = *(uint *)local_e4[1];
          local_8c = local_f0;
        }
        uVar39 = (uint)!bVar42;
        if (uVar39 < uVar38) {
          iVar31 = *local_e4;
          uVar37 = *(uint *)(iVar31 + uVar39 * 8);
          uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);
          if ((uVar37 < local_104) <= uVar36) {
            do {
              uVar33 = uVar37;
              uVar37 = *(uint *)(local_e4[1] + uVar39 * 8);
              if ((uVar36 == 0 && local_104 == uVar33) &&
                 (*(uint *)(local_e4[1] + 4 + uVar39 * 8) < (uint)(uVar37 < local_f4))) break;
              uVar39 = uVar39 + 1;
              local_104 = uVar33;
              local_f4 = uVar37;
              if (uVar38 == uVar39) goto LAB_00063450;
              uVar37 = *(uint *)(iVar31 + uVar39 * 8);
              uVar36 = *(uint *)(iVar31 + 4 + uVar39 * 8);
            } while ((uVar37 < uVar33) <= uVar36);
          }
          bVar41 = false;
          bVar42 = true;
        }
        else {
LAB_00063450:
          bVar41 = true;
          bVar42 = true;
        }
      }
      local_f0 = local_f0 + 1;
      local_e4 = local_e4 + 0x14;
    } while (DAT_000b9d6c != local_f0);
    local_cc = local_8c * 0x50;
    if (bVar42) goto LAB_00063484;
  }
  uVar15 = dcgettext(0,"No location lists in .debug_info section!\n",5);
  error(uVar15);
LAB_00063484:
  local_cc = DAT_000b9d64 + local_cc;
  if (((*(int *)(local_cc + 0x38) != 0) &&
      (local_d0 != (*(int **)(local_cc + 0x2c))[1] || local_d4 != **(int **)(local_cc + 0x2c))) &&
     (local_d0 != (*(int **)(local_cc + 0x30))[1] || local_d4 != **(int **)(local_cc + 0x30))) {
    uVar13 = FUN_0004cb50(0);
    uVar15 = *(undefined4 *)(param_1 + 8);
    uVar29 = dcgettext(0,"Location lists in %s section start at 0x%s\n",5);
    warn(uVar29,uVar15,uVar13);
  }
  local_5c = (void *)0x0;
  if (!bVar41) {
    local_5c = (void *)FUN_0005db00(local_dc,4);
  }
  FUN_0004eb80();
  iVar31 = FUN_00045000(param_1,0,0);
  if (iVar31 != 0) {
    pcVar14 = (char *)dcgettext(0,
                                " Warning: This section has relocations - addresses seen here may not be accurate.\n\n"
                                ,5);
    printf(pcVar14);
  }
  pcVar14 = (char *)dcgettext(0,"    Offset   Begin            End              Expression\n",5);
  printf(pcVar14);
  puVar7 = PTR_stdout_000b3fd8;
  local_28 = uVar19;
  if (local_8c < DAT_000b9d6c) {
    local_fc = DAT_000b9d64;
    bVar42 = false;
    do {
      iVar31 = local_8c * 0x50;
      iVar34 = local_fc + iVar31;
      __nmemb = *(size_t *)(iVar34 + 0x38);
      if (!bVar41) {
        if (__nmemb != 0) {
          uVar38 = 0;
          do {
            *(uint *)((int)local_5c + uVar38 * 4) = uVar38;
            __nmemb = *(uint *)(iVar34 + 0x38);
            uVar38 = uVar38 + 1;
          } while (uVar38 < __nmemb);
        }
        DAT_000b9cdc = *(undefined4 *)(iVar34 + 0x2c);
        DAT_000b9cd8 = *(undefined4 *)(iVar34 + 0x30);
        qsort(local_5c,__nmemb,4,FUN_0004c710);
        local_fc = DAT_000b9d64;
        iVar34 = iVar31 + DAT_000b9d64;
        __nmemb = *(size_t *)(iVar34 + 0x38);
      }
      bVar5 = true;
      local_f0 = 0;
      if (__nmemb != 0) {
LAB_00063757:
        puVar20 = *(uint **)(iVar34 + 0x30);
        puVar3 = *(uint **)(iVar34 + 0x2c);
        if (!bVar41) {
          local_ec = *(uint *)((int)local_5c + local_f0 * 4);
          local_108 = puVar3[local_ec * 2 + 1];
          local_10c = puVar3[local_ec * 2];
          uVar38 = puVar20[local_ec * 2];
          local_f4 = puVar20[local_ec * 2 + 1];
          if (local_f0 != 0) {
            local_e8 = *(int *)((int)local_5c + local_f0 * 4 + -4) << 3;
            goto LAB_0006389e;
          }
          iVar16 = local_ec << 2;
LAB_000635f2:
          iVar34 = *(int *)(*(int *)(iVar34 + 0x34) + iVar16);
          uVar39 = uVar19 + local_10c;
          if ((local_f4 & uVar38) == 0xffffffff) {
            local_ec = 0;
            bVar6 = false;
          }
          else {
            local_ec = uVar19 + uVar38;
            bVar9 = local_ec < uVar39 && local_ec != 0;
            bVar6 = local_ec != 0;
            if ((bVar9) && (FUN_000520e0(uVar39), bVar6 = bVar9, local_28 == local_ec)) {
              local_28 = local_ec;
            }
          }
          if (bVar42 && bVar5) {
            if (local_28 < uVar39) {
              pcVar14 = "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n";
            }
            else {
              if (local_28 <= uVar39) goto LAB_000636b8;
              pcVar14 = "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n";
            }
            uVar15 = dcgettext(0,pcVar14,5);
            warn(uVar15,local_28 - uVar19,local_10c);
          }
LAB_000636b8:
          local_24 = local_ec;
          local_28 = uVar39;
          if ((local_10c < uVar2) <= local_108) {
            uVar15 = dcgettext(0,"Offset 0x%lx is bigger than .debug_loc section size.\n",5);
LAB_0006371f:
            warn(uVar15,local_10c);
            local_fc = DAT_000b9d64;
            bVar42 = true;
            goto LAB_0006373a;
          }
          if ((local_ec != 0) && ((uVar38 < uVar2) <= local_f4)) {
            uVar15 = dcgettext(0,"View Offset 0x%lx is bigger than .debug_loc section size.\n",5);
            local_10c = uVar38;
            goto LAB_0006371f;
          }
          if (pcVar12 == (char *)0x0) {
            uVar38 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);
            if (local_68 == 0) {
              if (DAT_000b9d6c <= local_8c) {
                pcVar14 = "No debug information available for loc lists of entry: %u\n";
                goto LAB_00064bdb;
              }
              puVar20 = (uint *)(iVar31 + DAT_000b9d64);
              uVar37 = *puVar20;
              if (uVar37 - 2 < 7) {
                uVar33 = puVar20[3];
                uVar4 = puVar20[2];
                uVar36 = uVar37 * 8 - 1;
                bVar30 = (byte)uVar36;
                bVar8 = bVar30 & 0x1f;
                uVar21 = -2 << (bVar30 & 0x1f);
                uVar22 = uVar21;
                uVar23 = -1 << bVar8 | 0xfffffffeU >> 0x20 - bVar8;
                if ((uVar36 & 0x20) != 0) {
                  uVar22 = 0;
                  uVar23 = uVar21;
                }
                uVar22 = ~uVar22;
                local_7c = local_ec;
                uVar23 = ~uVar23;
                uVar36 = uVar39;
                while( true ) {
                  uVar21 = uVar36 - uVar39;
                  uVar25 = uVar21 + local_10c;
                  iVar16 = ((int)uVar21 >> 0x1f) + local_108 + (uint)CARRY4(uVar21,local_10c);
                  uVar21 = uVar36 + uVar37 * 2;
                  local_28 = uVar36;
                  if (uVar38 < uVar21) break;
                  printf("    %8.8lx ",uVar25);
                  uVar1 = uVar36 + uVar37;
                  uVar26 = uVar37;
                  uVar27 = uVar37;
                  if (uVar1 < uVar38) {
LAB_00064528:
                    uVar48 = (*DAT_000b9dd8)(uVar36,uVar26);
                    uVar44 = uVar48;
                    if ((uVar21 == uVar38) &&
                       ((uVar38 <= uVar1 || (uVar27 = uVar38 - uVar1, 7 < (uVar38 - uVar1) - 1)))) {
                      uVar45 = 0;
                    }
                    else {
LAB_00064624:
                      uVar45 = (*DAT_000b9dd8)(uVar1,uVar27);
                      uVar48 = uVar44 | uVar45;
                    }
                    if (uVar48 == 0) goto LAB_00064257;
                  }
                  else {
                    if (uVar38 <= uVar36) {
                      if (uVar21 == uVar38) goto LAB_00064230;
LAB_0006460a:
                      uVar44 = 0;
                      goto LAB_00064624;
                    }
                    uVar26 = uVar38 - uVar36;
                    if ((uVar38 - uVar36) - 1 < 8) goto LAB_00064528;
                    if (uVar21 != uVar38) goto LAB_0006460a;
LAB_00064230:
                    uVar44 = 0;
                    uVar45 = 0;
LAB_00064257:
                    local_28 = uVar1 + uVar37;
                    iVar24 = FUN_00045000(param_1,uVar25,iVar16);
                    if ((iVar24 == 0) &&
                       (iVar16 = FUN_00045000(param_1,uVar37 + uVar25,
                                              iVar16 + (uint)CARRY4(uVar37,uVar25)), iVar16 == 0)) {
                      pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);
                      printf(pcVar14);
                      goto LAB_000646df;
                    }
                  }
                  local_d8 = (uint)(uVar45 >> 0x20);
                  local_dc = (int *)uVar45;
                  local_100 = (uint)(uVar44 >> 0x20);
                  local_104 = (uint)uVar44;
                  uVar36 = uVar1 + uVar37;
                  if (((uVar23 & local_100) == uVar23 && (uVar22 & local_104) == uVar22) &&
                     ((uVar23 & local_d8) != uVar23 || (uVar22 & (uint)local_dc) != uVar22)) {
                    FUN_0004ce60();
                    FUN_0004ce60();
                    pcVar14 = (char *)dcgettext(0,"(base address)\n",5);
                    printf(pcVar14);
                  }
                  else {
                    local_28 = uVar36;
                    if (local_7c == 0) {
                      lVar46 = -1;
                      lVar43 = -1;
                      bVar42 = uVar36 + 2 == uVar38;
                      if (uVar38 < uVar36 + 2) break;
                    }
                    else {
                      iVar16 = local_7c - uVar39;
                      lVar43 = FUN_0004f990(local_7c,local_20,0,uVar38);
                      iVar24 = local_7c + local_20[0];
                      FUN_0004ea80();
                      lVar46 = FUN_0004f990(iVar24,local_20,0,uVar38);
                      local_7c = iVar24 + local_20[0];
                      FUN_0004ea80();
                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);
                      printf(pcVar14,iVar16 + local_10c,8,&DAT_0007bc55);
                      bVar42 = uVar36 + 2 == uVar38;
                      if (uVar38 <= uVar36 + 2 && !bVar42) break;
                    }
                    local_a4 = (uint)((ulonglong)lVar46 >> 0x20);
                    local_ac = (uint)lVar46;
                    local_b0 = (uint)((ulonglong)lVar43 >> 0x20);
                    local_bc = (uint)lVar43;
                    local_28 = uVar36 + 2;
                    if ((bVar42) && (uVar38 <= uVar36)) {
                      uVar10 = 0;
                      uVar36 = uVar38;
                    }
                    else {
                      uVar10 = (*DAT_000b9dd8)(uVar36,2);
                      uVar36 = uVar10 + local_28;
                      if (uVar38 < uVar36) {
                        uVar15 = dcgettext(0,
                                           "Location list starting at offset 0x%lx is not terminated.\n"
                                           ,5);
                        warn(uVar15,local_10c);
                        goto LAB_000646df;
                      }
                    }
                    FUN_0004ce60();
                    FUN_0004ce60();
                    putc(0x28,*(FILE **)puVar7);
                    iVar16 = FUN_0004ff30(uVar4,uVar10,0,uVar33,0,param_1);
                    putc(0x29,*(FILE **)puVar7);
                    if ((iVar16 != 0) && (iVar34 == 0)) {
                      pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);
                      printf(pcVar14);
                    }
                    pFVar35 = *(FILE **)puVar7;
                    if ((lVar43 == lVar46) && (uVar44 == uVar45)) {
                      pcVar14 = (char *)dcgettext(0," (start == end)",5);
                      fputs(pcVar14,pFVar35);
                      pFVar35 = *(FILE **)puVar7;
                    }
                    else if ((local_d8 < local_100 ||
                              local_d8 - local_100 < (uint)(local_dc < local_104)) ||
                            ((local_a4 < local_b0 ||
                              local_a4 - local_b0 < (uint)(local_ac < local_bc) &&
                             (uVar44 == uVar45)))) {
                      pcVar14 = (char *)dcgettext(0," (start > end)",5);
                      fputs(pcVar14,pFVar35);
                      pFVar35 = *(FILE **)puVar7;
                    }
                    putc(10,pFVar35);
                  }
                }
                uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5
                                  );
                warn(uVar15,local_10c);
LAB_000646df:
                local_24 = local_7c;
              }
              else {
                uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);
                warn(uVar15,uVar37,local_8c);
              }
            }
            else if (local_8c < DAT_000b9d6c) {
              piVar17 = (int *)(iVar31 + DAT_000b9d64);
              iVar16 = *piVar17;
              if (iVar16 - 2U < 7) {
                iVar16 = piVar17[3];
                iVar24 = piVar17[2];
                local_104 = local_ec;
                uVar37 = uVar39;
code_r0x00063ec0:
                do {
                  printf("    %8.8lx ",local_10c + (uVar37 - uVar39));
                  if (uVar38 <= uVar37) goto LAB_00064ec7;
                  local_28 = uVar37 + 1;
                  uVar36 = local_68;
                  if ((uVar38 <= local_28) && (uVar36 = uVar38 - uVar37, 7 < (uVar38 - uVar37) - 1))
                  {
code_r0x00063f01:
                    local_24 = local_104;
                    pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);
                    printf(pcVar14);
                    goto LAB_000637dc;
                  }
                  iVar28 = (*DAT_000b9dd8)(uVar37,uVar36);
                  if (local_104 != 0) {
                    if (iVar28 - 2U < 3) {
                      iVar18 = local_104 - uVar39;
                      FUN_0004f990(local_104,local_20,0,uVar38);
                      iVar32 = local_104 + local_20[0];
                      FUN_0004ea80();
                      FUN_0004f990(iVar32,local_20,0,uVar38);
                      local_104 = iVar32 + local_20[0];
                      FUN_0004ea80();
                      pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);
                      printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);
                      switch(iVar28) {
                      case 2:
                        goto code_r0x00064a4b;
                      case 3:
                        goto code_r0x000648fb;
                      case 4:
                        goto code_r0x00064a90;
                      }
                    }
                    else {
                      switch(iVar28) {
                      case 0:
                        goto code_r0x00063f01;
                      case 1:
                        FUN_0004f990(local_28,local_20,0,uVar38);
                        iVar28 = local_20[0];
                        FUN_0004ea40();
                        uVar15 = 0x15;
                        goto code_r0x00064b2b;
                      }
                    }
LAB_00064cd8:
                    uVar15 = dcgettext(0,"Unknown location list entry type 0x%x.\n",5);
                    warn(uVar15,iVar28);
                    local_24 = local_104;
                    goto LAB_000637dc;
                  }
                  switch(iVar28) {
                  case 0:
                    goto code_r0x00063f01;
                  case 1:
                    FUN_0004f990(local_28,local_20,0,uVar38);
                    iVar28 = local_20[0];
                    FUN_0004ea40();
                    uVar15 = 9;
code_r0x00064b2b:
                    uVar37 = iVar28 + local_28;
                    printf("%*s",uVar15,&DAT_0007bc55);
                    pcVar14 = (char *)dcgettext(0,"(base address selection entry)\n",5);
                    printf(pcVar14);
                    goto code_r0x00063ec0;
                  case 2:
code_r0x00064a4b:
                    local_dc = local_20;
                    FUN_0004f990(local_28,local_dc,0,uVar38);
                    iVar28 = local_28 + local_20[0];
                    FUN_0004ea40();
                    FUN_0004f990(iVar28,local_dc,0,uVar38);
                    uVar37 = local_20[0] + iVar28;
                    FUN_0004ea40();
                    break;
                  case 3:
code_r0x000648fb:
                    local_dc = local_20;
                    FUN_0004f990(local_28,local_dc,0,uVar38);
                    local_28 = local_28 + local_20[0];
                    FUN_0004ea40();
                    uVar37 = local_28 + 4;
                    if (uVar37 < uVar38) {
                      iVar28 = 4;
code_r0x00064e5d:
                      uVar15 = (*DAT_000b9dd8)(local_28,iVar28);
                    }
                    else {
                      uVar15 = 0;
                      if ((local_28 < uVar38) && (iVar28 = uVar38 - local_28, iVar28 - 1U < 8))
                      goto code_r0x00064e5d;
                    }
                    printf("%08x ",uVar15);
                    break;
                  case 4:
code_r0x00064a90:
                    uVar36 = uVar37 + 5;
                    if (uVar36 < uVar38) {
                      uVar15 = (*DAT_000b9dd8)(local_28,4);
                      printf("%08x ",uVar15);
                      if (uVar37 + 9 < uVar38) goto code_r0x00064ad0;
                      iVar28 = uVar38 - uVar36;
                      if (7 < iVar28 - 1U) {
                        uVar15 = 0;
                        goto code_r0x00064ae3;
                      }
code_r0x00064ad5:
                      uVar15 = (*DAT_000b9dd8)(uVar36,iVar28);
                    }
                    else {
                      if (local_28 < uVar38) {
                        uVar33 = (uVar38 - local_28) - 1;
                        if (uVar33 < 8) {
                          uVar15 = (*DAT_000b9dd8)(local_28,uVar38 - local_28,uVar33,uVar33);
                          printf("%08x ",uVar15);
                          uVar15 = 0;
                          if (uVar38 <= uVar37 + 9) goto code_r0x00064ae3;
                          goto code_r0x00064ad0;
                        }
                      }
                      printf("%08x ",0);
                      uVar15 = 0;
                      if (uVar37 + 9 < uVar38) {
code_r0x00064ad0:
                        iVar28 = 4;
                        goto code_r0x00064ad5;
                      }
                    }
code_r0x00064ae3:
                    uVar37 = uVar37 + 9;
                    printf("%08x ",uVar15);
                    break;
                  default:
                    goto LAB_00064cd8;
                  }
                  local_28 = uVar37 + 2;
                  if (uVar38 < local_28) goto LAB_00064ec7;
                  if ((local_28 == uVar38) && (uVar38 <= uVar37)) {
                    uVar10 = 0;
                    uVar37 = uVar38;
                  }
                  else {
                    uVar10 = (*DAT_000b9dd8)(uVar37,2);
                    uVar37 = local_28 + uVar10;
                    if (uVar38 < uVar37) {
                      uVar15 = dcgettext(0,
                                         "Location list starting at offset 0x%lx is not terminated.\n"
                                         ,5);
                      warn(uVar15,local_10c);
                      goto code_r0x00064ee9;
                    }
                  }
                  putc(0x28,*(FILE **)puVar7);
                  iVar28 = FUN_0004ff30(iVar24,uVar10,0,iVar16,0,param_1);
                  putc(0x29,*(FILE **)puVar7);
                  if ((iVar28 != 0) && (iVar34 == 0)) {
                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);
                    printf(pcVar14);
                  }
                  putc(10,*(FILE **)puVar7);
                } while( true );
              }
              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);
              warn(uVar15,iVar16,local_8c);
            }
            else {
              pcVar14 = "No debug information for loc lists of entry: %u\n";
LAB_00064bdb:
              uVar15 = dcgettext(0,pcVar14,5);
              warn(uVar15,local_8c);
            }
          }
          else if (local_68 == 0) {
            if (DAT_000b9d6c <= local_8c) {
              pcVar14 = "No debug information available for loclists lists of entry: %u\n";
              goto LAB_00064bdb;
            }
            piVar17 = (int *)(iVar31 + DAT_000b9d64);
            iVar16 = *piVar17;
            if (iVar16 - 2U < 7) {
              uVar45 = 0xffffffffffffffff;
              iVar24 = piVar17[3];
              uVar44 = 0xffffffffffffffff;
              uVar37 = *(int *)(param_1 + 0x10) + *(int *)(param_1 + 0x1c);
              iVar28 = piVar17[2];
              local_f4 = local_ec;
              uVar38 = local_10c;
              while (uVar36 = local_28 + 1, uVar36 <= uVar37) {
                printf("    %8.8lx ",uVar38);
                if ((uVar37 == uVar36) && (uVar37 <= local_28)) {
LAB_000639ce:
                  pcVar14 = (char *)dcgettext(0,"<End of list>\n",5);
                  printf(pcVar14);
                  local_28 = uVar36;
                  goto LAB_000639ec;
                }
                uVar38 = (*DAT_000b9dd8)(local_28,1);
                if ((local_f4 == 0) || (uVar38 != 4)) {
                  if (uVar38 == 4) goto LAB_00063b0b;
                  if (uVar38 < 5) {
                    if (uVar38 == 0) goto LAB_000639ce;
LAB_00063e0a:
                    uVar15 = dcgettext(0,"Invalid location list entry type %d\n",5);
                    error(uVar15,uVar38);
                    local_28 = uVar39;
                    goto LAB_000637dc;
                  }
                  if (uVar38 == 6) {
                    local_28 = uVar36 + iVar16;
                    iVar18 = iVar16;
                    if ((local_28 < uVar37) ||
                       ((uVar36 < uVar37 && (iVar18 = uVar37 - uVar36, (uVar37 - uVar36) - 1 < 8))))
                    {
                      (*DAT_000b9dd8)(uVar36,iVar18);
                    }
                    FUN_0004ce60();
                    pcVar14 = "(base address)\n";
                  }
                  else {
                    if (uVar38 != 9) goto LAB_00063e0a;
                    if (local_f4 != 0) {
                      pcVar14 = (char *)dcgettext(0,
                                                  "View pair entry in loclist with locviews attribute\n"
                                                  ,5);
                      printf(pcVar14);
                    }
                    uVar44 = FUN_0004f990(uVar36,local_20,0,uVar37);
                    iVar18 = uVar36 + local_20[0];
                    FUN_0004ea80();
                    uVar45 = FUN_0004f990(iVar18,local_20,0,uVar37);
                    local_28 = iVar18 + local_20[0];
                    FUN_0004ea80();
                    pcVar14 = "views for:\n";
                  }
                  pcVar14 = (char *)dcgettext(0,pcVar14,5);
                  printf(pcVar14);
                }
                else {
                  iVar18 = local_f4 - uVar39;
                  uVar44 = FUN_0004f990(local_f4,local_20,0,uVar37);
                  iVar32 = local_f4 + local_20[0];
                  FUN_0004ea80();
                  uVar45 = FUN_0004f990(iVar32,local_20,0,uVar37);
                  local_f4 = iVar32 + local_20[0];
                  FUN_0004ea80();
                  pcVar14 = (char *)dcgettext(0,"views at %8.8lx for:\n    %*s ",5);
                  printf(pcVar14,iVar18 + local_10c,8,&DAT_0007bc55);
LAB_00063b0b:
                  local_b0 = (uint)(uVar45 >> 0x20);
                  local_bc = (uint)uVar45;
                  local_c8 = (uint)(uVar44 >> 0x20);
                  local_dc = (int *)uVar44;
                  lVar43 = FUN_0004f990(uVar36,local_20,0,uVar37);
                  uVar38 = (uint)((ulonglong)lVar43 >> 0x20);
                  iVar18 = uVar36 + local_20[0];
                  lVar46 = FUN_0004f990(iVar18,local_20,0,uVar37);
                  uVar36 = (uint)((ulonglong)lVar46 >> 0x20);
                  local_28 = iVar18 + local_20[0];
                  if (uVar37 < local_28 + 2) {
                    uVar15 = dcgettext(0,
                                       "Location list starting at offset 0x%lx is not terminated.\n"
                                       ,5);
                    warn(uVar15,local_10c);
                    goto LAB_000639ec;
                  }
                  uVar47 = FUN_0004f990(local_28,local_20,0,uVar37);
                  iVar32 = local_28 + local_20[0];
                  FUN_0004ce60();
                  FUN_0004ce60();
                  putc(0x28,*(FILE **)puVar7);
                  iVar18 = FUN_0004ff30(iVar28,uVar47,iVar24,0,param_1);
                  putc(0x29,*(FILE **)puVar7);
                  if ((iVar18 != 0) && (iVar34 == 0)) {
                    pcVar14 = (char *)dcgettext(0," [without DW_AT_frame_base]",5);
                    printf(pcVar14);
                  }
                  pFVar35 = *(FILE **)puVar7;
                  if ((uVar44 == uVar45) && (lVar43 == lVar46)) {
                    pcVar14 = (char *)dcgettext(0," (start == end)",5);
                    fputs(pcVar14,pFVar35);
                    pFVar35 = *(FILE **)puVar7;
                  }
                  else if ((uVar36 < uVar38 || uVar36 - uVar38 < (uint)((uint)lVar46 < (uint)lVar43)
                           ) || ((local_b0 < local_c8 ||
                                  local_b0 - local_c8 < (uint)(local_bc < local_dc) &&
                                 (lVar43 == lVar46)))) {
                    pcVar14 = (char *)dcgettext(0," (start > end)",5);
                    fputs(pcVar14,pFVar35);
                    pFVar35 = *(FILE **)puVar7;
                  }
                  putc(10,pFVar35);
                  local_28 = (int)uVar47 + iVar32;
                  uVar45 = 0xffffffffffffffff;
                  uVar44 = 0xffffffffffffffff;
                }
                uVar38 = (local_28 - uVar39) + local_10c;
              }
              uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);
              warn(uVar15,local_10c);
LAB_000639ec:
              if ((uVar44 & uVar45) != 0xffffffffffffffff) {
                pcVar14 = (char *)dcgettext(0,"Trailing view pair not used in a range",5);
                printf(pcVar14);
              }
              local_24 = local_f4;
            }
            else {
              uVar15 = dcgettext(0,"Invalid pointer size (%d) in debug info for entry %d\n",5);
              warn(uVar15,iVar16,local_8c);
            }
          }
          else {
            uVar15 = dcgettext(0,"DWO is not yet supported.\n",5);
            warn(uVar15);
          }
          goto LAB_000637dc;
        }
        if (local_f0 == 0) {
          local_108 = puVar3[1];
          local_10c = *puVar3;
          uVar38 = *puVar20;
          local_f4 = puVar20[1];
          iVar16 = 0;
          goto LAB_000635f2;
        }
        local_ec = local_f0;
        local_10c = puVar3[local_f0 * 2];
        local_e8 = local_f0 * 8 + -8;
        local_108 = puVar3[local_f0 * 2 + 1];
        local_f4 = puVar20[local_f0 * 2 + 1];
        uVar38 = puVar20[local_f0 * 2];
LAB_0006389e:
        if ((local_10c != *(uint *)((int)puVar3 + local_e8) ||
             local_108 != *(uint *)((int)puVar3 + local_e8 + 4)) ||
           (local_f4 != *(uint *)((int)puVar20 + local_e8 + 4) ||
            uVar38 != *(uint *)((int)puVar20 + local_e8))) {
          iVar16 = local_ec << 2;
          goto LAB_000635f2;
        }
        goto LAB_0006373a;
      }
LAB_00063fc0:
      local_8c = local_8c + 1;
    } while (local_8c < DAT_000b9d6c);
  }
  uVar19 = *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x10);
  if (local_28 < uVar19) {
    iVar31 = uVar19 - local_28;
    uVar15 = *(undefined4 *)(param_1 + 8);
    uVar13 = dcngettext(0,"There is %ld unused byte at the end of section %s\n",
                        "There are %ld unused bytes at the end of section %s\n",iVar31,5);
    warn(uVar13,iVar31,uVar15);
  }
  putc(10,*(FILE **)puVar7);
  free(local_5c);
  return 1;
LAB_00064ec7:
  local_28 = uVar37;
  uVar15 = dcgettext(0,"Location list starting at offset 0x%lx is not terminated.\n",5);
  warn(uVar15,local_10c);
code_r0x00064ee9:
  local_24 = local_104;
LAB_000637dc:
  if ((bVar5) && (bVar6)) {
    if (local_28 == local_ec) {
      bVar5 = true;
    }
    else {
      if (uVar39 == local_24) {
        local_fc = DAT_000b9d64;
        bVar5 = true;
        bVar42 = true;
        goto LAB_0006373a;
      }
      uVar15 = dcgettext(0,"Hole and overlap detection requires adjacent view lists and loclists.\n"
                         ,5);
      warn(uVar15);
      bVar5 = false;
LAB_00063833:
      if (local_28 != local_ec) goto LAB_00063844;
    }
    FUN_000520e0(local_24);
    local_fc = DAT_000b9d64;
    bVar42 = true;
  }
  else {
    if (local_ec != 0) goto LAB_00063833;
LAB_00063844:
    local_fc = DAT_000b9d64;
    bVar42 = true;
  }
LAB_0006373a:
  iVar34 = local_fc + iVar31;
  local_f0 = local_f0 + 1;
  if (*(uint *)(iVar34 + 0x38) <= local_f0) goto LAB_00063fc0;
  goto LAB_00063757;
}

