
int process_cu_tu_index(dwarf_section *section,int do_display)

{
  dwarf_section *pdVar1;
  dwarf_section *pdVar2;
  int iVar3;
  uint uVar4;
  int iVar5;
  elf_vma eVar6;
  char *pcVar7;
  ulong uVar8;
  long lVar9;
  undefined8 uVar10;
  char *pcVar11;
  dwarf_section *pdVar12;
  char **ppcVar13;
  dwarf_section *pdVar14;
  uchar *puVar15;
  dwarf_vma dVar16;
  long lVar17;
  size_t sVar18;
  dwarf_section *pdVar19;
  dwarf_section *pdVar20;
  dwarf_section *pdVar21;
  dwarf_section *pdVar22;
  int iVar23;
  byte *pbVar24;
  byte *pbVar25;
  uint uVar26;
  uint uVar27;
  bool bVar28;
  bool bVar29;
  bool bVar30;
  byte bVar31;
  dwarf_section *local_128;
  ulong local_120;
  size_t local_100;
  cu_tu_set *local_f0;
  char **local_e8;
  cu_tu_set *local_b0;
  dwarf_vma signature_high;
  dwarf_vma signature_low;
  char buf [64];
  
  bVar31 = 0;
  pdVar12 = (dwarf_section *)section->start;
  uVar8 = section->size;
  if (pdVar12 == (dwarf_section *)0x0) {
    pcVar7 = section->name;
    pcVar11 = "Section %s is empty\n";
LAB_00121880:
    pcVar11 = (char *)dcgettext(0,pcVar11,5);
    warn(pcVar11,pcVar7);
    return 0;
  }
  if (uVar8 < 0x18) {
    pcVar7 = section->name;
    pcVar11 = "Section %s is too small to contain a CU/TU header\n";
    goto LAB_00121880;
  }
  pdVar1 = (dwarf_section *)((long)&pdVar12->uncompressed_name + uVar8);
  pdVar20 = (dwarf_section *)((long)&pdVar12->uncompressed_name + 4);
  ppcVar13 = &pdVar12->compressed_name;
  iVar3 = (int)uVar8;
  if (pdVar20 < pdVar1) {
    iVar5 = 4;
LAB_0012154d:
    eVar6 = (*byte_get)((uchar *)pdVar12,iVar5);
    uVar4 = (uint)eVar6;
    if (uVar4 < 2) {
      local_128 = (dwarf_section *)0x0;
      goto LAB_00121690;
    }
    if (ppcVar13 < pdVar1) {
      iVar5 = 4;
LAB_0012183d:
      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);
      local_128 = (dwarf_section *)(eVar6 & 0xffffffff);
      goto LAB_00121690;
    }
    if ((pdVar20 < pdVar1) && (iVar5 = iVar3 + -4, iVar3 - 5U < 8)) goto LAB_0012183d;
    local_128 = (dwarf_section *)0x0;
    if (pdVar1 <= (dwarf_section *)((long)&pdVar12->compressed_name + 4)) goto LAB_001215a0;
LAB_00121780:
    eVar6 = (*byte_get)((uchar *)ppcVar13,4);
    local_100 = eVar6 & 0xffffffff;
    if (&pdVar12->name < pdVar1) {
LAB_001216e0:
      iVar5 = 4;
    }
    else {
      iVar5 = iVar3 + -0xc;
      if (7 < iVar3 - 0xdU) {
LAB_001217b9:
        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);
        pdVar20 = (dwarf_section *)&pdVar12->name;
        local_120 = 0;
        bVar29 = false;
        pdVar2 = pdVar20;
        goto joined_r0x001217d3;
      }
    }
    ppcVar13 = &pdVar12->name;
    uVar8 = (*byte_get)((uchar *)((long)&pdVar12->compressed_name + 4),iVar5);
    iVar3 = (int)uVar8;
    local_120 = uVar8 & 0xffffffff;
    pdVar20 = (dwarf_section *)((long)ppcVar13 + (ulong)(uint)(iVar3 * 8));
    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4));
    if (((pdVar20 < ppcVar13) || (pdVar14 < pdVar12)) ||
       ((bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29))))
    {
      pcVar7 = section->name;
      pcVar11 = (char *)dcngettext(0,"Section %s is too small for %d slot\n",
                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5);
      goto LAB_0012175d;
    }
  }
  else {
    if ((pdVar12 < pdVar1) && (iVar5 = iVar3, iVar3 - 1U < 8)) goto LAB_0012154d;
    uVar4 = 0;
    local_128 = (dwarf_section *)0x0;
LAB_00121690:
    if ((dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1) goto LAB_00121780;
    if ((ppcVar13 < pdVar1) && (iVar3 - 9U < 8)) {
      eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8);
      local_100 = eVar6 & 0xffffffff;
      if (&pdVar12->name < pdVar1) goto LAB_001216e0;
      goto LAB_001217b9;
    }
LAB_001215a0:
    pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);
    pdVar20 = (dwarf_section *)&pdVar12->name;
    if (pdVar20 < pdVar1) {
      local_100 = 0;
      goto LAB_001216e0;
    }
    local_100 = 0;
    local_120 = 0;
    bVar29 = false;
    pdVar2 = pdVar20;
  }
joined_r0x001217d3:
  uVar8 = local_120;
  if (do_display != 0) {
    introduce((dwarf_section *)section->name,(int)section + 0x18,pdVar14);
    pcVar7 = (char *)dcgettext(0,"  Version:                 %d\n",5);
    printf(pcVar7,(ulong)uVar4);
    if (1 < uVar4) {
      pcVar7 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);
      printf(pcVar7,local_128);
    }
    pcVar7 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);
    printf(pcVar7,local_100);
    pcVar7 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);
    printf(pcVar7,uVar8);
  }
  local_e8 = &pdVar12->name;
  local_120._0_4_ = (uint)uVar8;
  if (pdVar1 < pdVar2) {
    pcVar7 = section->name;
    pcVar11 = (char *)dcgettext(0,"Section %s too small for %d hash table entries\n",5);
LAB_0012175d:
    warn(pcVar11,pcVar7,uVar8 & 0xffffffff);
    return 0;
  }
  iVar3 = (int)pdVar1;
  if (uVar4 == 1) {
    if (do_display == 0) {
      lVar17 = (long)pdVar1 - (long)pdVar2;
      lVar9 = lVar17 + 3;
      if (-1 < lVar17) {
        lVar9 = lVar17;
      }
      shndx_pool_size = (uint)(lVar9 >> 2);
      if (shndx_pool == (uint *)0x0) {
        shndx_pool_used = 0;
        shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);
      }
      else {
        shndx_pool_size = shndx_pool_size + shndx_pool_used;
        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);
      }
      if (!bVar29) {
        return 1;
      }
    }
    else if (!bVar29) goto LAB_00121928;
    uVar4 = 0;
LAB_001218e6:
    pdVar12 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);
    if (local_e8 + 1 <= pdVar1) {
      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);
      if ((signature_high == 0) && (signature_low == 0)) goto LAB_0012190b;
      iVar5 = 4;
      if ((pdVar12 < pdVar1) ||
         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))) {
        eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);
        uVar8 = (ulong)(uint)((int)eVar6 * 4);
        pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);
        if (CARRY8(uVar8,(ulong)pdVar2)) {
          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);
          warn(pcVar7);
          return 0;
        }
      }
      if (do_display != 0) {
        pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);
        pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);
        printf(pcVar11,(ulong)uVar4,pcVar7);
      }
      if (pdVar14 < pdVar1) {
        do {
          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);
          if (pdVar20 < pdVar1) {
            iVar5 = 4;
          }
          else {
            iVar5 = iVar3 - (int)pdVar14;
            if (7 < iVar5 - 1U) goto LAB_00121a48;
          }
          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);
          if ((uint)eVar6 == 0) goto LAB_00121a48;
          if (do_display == 0) {
            uVar8 = (ulong)shndx_pool_used;
            if (shndx_pool_used < shndx_pool_size) {
              shndx_pool_used = shndx_pool_used + 1;
              shndx_pool[uVar8] = (uint)eVar6;
            }
            else {
              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);
              error(pcVar7);
            }
          }
          else {
            printf(" %d",eVar6 & 0xffffffff);
          }
          pdVar14 = pdVar20;
          if (pdVar1 <= pdVar20) break;
        } while( true );
      }
      pcVar11 = "Section %s too small for shndx pool\n";
      pcVar7 = section->name;
      goto LAB_00121880;
    }
    signature_high = 0;
    signature_low = 0;
LAB_0012190b:
    uVar4 = uVar4 + 1;
    pdVar20 = pdVar12;
    local_e8 = local_e8 + 1;
    if ((uint)local_120 <= uVar4) goto LAB_0012191c;
    goto LAB_001218e6;
  }
  if (uVar4 != 2) {
    if (do_display == 0) {
      return 1;
    }
    pcVar7 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);
    printf(pcVar7,(ulong)uVar4);
    goto LAB_00121928;
  }
  uVar4 = (uint)local_128 * 4;
  uVar8 = (ulong)uVar4;
  puVar15 = (uchar *)((long)&pdVar2->uncompressed_name + uVar8);
  if ((CARRY8((ulong)pdVar2,uVar8)) || ((uint)local_128 != (uint)((long)uVar8 >> 2))) {
    pcVar7 = (char *)dcgettext(0,"Overlarge number of columns: %x\n",5);
    warn(pcVar7,local_128);
    return 0;
  }
  pbVar24 = (byte *)section->name;
  bVar28 = pdVar1 < (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2);
  bVar30 = pdVar1 == (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2);
  if (bVar28) {
    pcVar7 = (char *)dcgettext(0,"Section %s too small for offset and size tables\n",5);
    warn(pcVar7,pbVar24);
    return 0;
  }
  pdVar12 = (dwarf_section *)0x10;
  pbVar25 = (byte *)".debug_tu_index";
  do {
    if (pdVar12 == (dwarf_section *)0x0) break;
    pdVar12 = (dwarf_section *)((long)&pdVar12[-1].user_data + 7);
    bVar28 = *pbVar24 < *pbVar25;
    bVar30 = *pbVar24 == *pbVar25;
    pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
    pbVar25 = pbVar25 + (ulong)bVar31 * -2 + 1;
  } while (bVar30);
  bVar30 = !bVar28 && !bVar30;
  if (do_display == 0) {
    if (bVar30 == bVar28) {
      tu_count = (uint)local_100;
      tu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);
      local_b0 = tu_sets;
    }
    else {
      cu_count = (uint)local_100;
      cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);
      local_b0 = cu_sets;
    }
    if (bVar29) {
LAB_00121c31:
      uVar26 = 0;
      ppcVar13 = local_e8;
      pdVar14 = pdVar20;
      do {
        pdVar12 = (dwarf_section *)(ppcVar13 + 1);
        if (pdVar1 < pdVar12) {
          signature_high = 0;
          signature_low = 0;
        }
        else {
          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);
        }
        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);
        if (pdVar22 < pdVar1) {
          iVar5 = 4;
LAB_00121cdf:
          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);
          uVar27 = (uint)eVar6;
          if (uVar27 != 0) {
            if ((uint)local_100 < uVar27) {
              pcVar7 = (char *)dcgettext(0,
                                         "Row index (%u) is larger than number of used entries (%u)\n"
                                         ,5);
              warn(pcVar7,eVar6 & 0xffffffff,local_100);
              return 0;
            }
            if (do_display == 0) {
              if (pdVar1 <= pdVar12) {
                pcVar7 = (char *)dcgettext(0,
                                           "Signature (%p) extends beyond end of space in section\n"
                                           ,5);
                warn(pcVar7,ppcVar13);
                return 0;
              }
              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);
              local_f0 = local_b0 + (uVar27 - 1);
              local_f0->signature = (uint64_t)*ppcVar13;
              pdVar14 = (dwarf_section *)(puVar15 + uVar8);
              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {
LAB_00122050:
                pcVar7 = (char *)dcgettext(0,
                                           "Row index (%u) * num columns (%u) > space remaining in section\n"
                                           ,5);
                warn(pcVar7,eVar6 & 0xffffffff,local_128);
                return 0;
              }
              if ((uint)local_128 != 0) {
LAB_00121d72:
                uVar27 = 0;
                pdVar19 = pdVar2;
                do {
                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);
                  if (pdVar21 < pdVar1) {
                    iVar5 = 4;
LAB_00121e65:
                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);
                    dVar16 = eVar6 & 0xffffffff;
                    if (do_display == 0) goto LAB_00121dca;
LAB_00121e76:
                    printf(" %8d",dVar16);
                  }
                  else {
                    dVar16 = 0;
                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))
                    goto LAB_00121e65;
                    if (do_display != 0) goto LAB_00121e76;
LAB_00121dca:
                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {
                      iVar5 = 4;
LAB_00121e95:
                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);
                      uVar8 = eVar6 & 0xffffffff;
                      if (7 < (uint)eVar6) {
                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",
                                                   5);
                        warn(pcVar7,eVar6 & 0xffffffff);
                        goto LAB_00121dfa;
                      }
                    }
                    else {
                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))
                      goto LAB_00121e95;
                      uVar8 = 0;
                    }
                    local_f0->section_offsets[uVar8] = dVar16;
                  }
LAB_00121dfa:
                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);
                  uVar27 = uVar27 + 1;
                  pdVar14 = pdVar21;
                } while (uVar27 < (uint)local_128);
                if (do_display != 0) goto LAB_00121e1f;
              }
            }
            else {
              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);
              pdVar14 = (dwarf_section *)(puVar15 + uVar8);
              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;
              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);
              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);
              printf(pcVar11,(ulong)uVar26,pcVar7);
              if ((uint)local_128 != 0) {
                local_f0 = local_b0 + (uVar27 - 1);
                goto LAB_00121d72;
              }
LAB_00121e1f:
              putchar(10);
            }
          }
        }
        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))
        goto LAB_00121cdf;
        uVar26 = uVar26 + 1;
        ppcVar13 = (char **)pdVar12;
        pdVar14 = pdVar22;
      } while (uVar26 < (uint)local_120);
      if (do_display != 0) goto LAB_001224d4;
    }
    if ((uint)local_128 != 0) {
LAB_001220c6:
      uVar26 = 0;
      pdVar14 = pdVar2;
      do {
        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);
        if (pdVar22 < pdVar1) {
          iVar5 = 4;
LAB_0012210c:
          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);
          uVar27 = (uint)eVar6;
        }
        else {
          uVar27 = 0;
          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))
          goto LAB_0012210c;
        }
        if (do_display != 0) {
          pcVar7 = get_DW_SECT_short_name(uVar27);
          printf(" %8s",pcVar7);
        }
        uVar26 = uVar26 + 1;
        pdVar14 = pdVar22;
      } while (uVar26 < (uint)local_128);
      if (do_display != 0) goto LAB_0012253d;
    }
    if (!bVar29) {
      return 1;
    }
  }
  else {
    pcVar7 = (char *)dcgettext(0,"  Offset table\n",5);
    printf(pcVar7);
    if (bVar30 == bVar28) {
      uVar10 = dcgettext(0,"signature",5);
    }
    else {
      uVar10 = dcgettext(0,"dwo_id",5);
    }
    printf("  slot  %-16s  ",uVar10);
    if ((uint)local_128 != 0) {
      pdVar12 = pdVar2;
      pdVar14 = pdVar2;
      do {
        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);
        if (pdVar22 < pdVar1) {
          iVar5 = 4;
LAB_001224a9:
          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);
          uVar26 = (uint)eVar6;
        }
        else {
          uVar26 = 0;
          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))
          goto LAB_001224a9;
        }
        pcVar7 = get_DW_SECT_short_name(uVar26);
        printf(" %8s",pcVar7);
        pdVar14 = pdVar22;
      } while ((dwarf_section *)
               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)
      ;
    }
    putchar(10);
    local_b0 = (cu_tu_set *)0x0;
    if (bVar29) goto LAB_00121c31;
LAB_001224d4:
    putchar(10);
    pcVar7 = (char *)dcgettext(0,"  Size table\n",5);
    printf(pcVar7);
    if (bVar30 == bVar28) {
      uVar10 = dcgettext(0,"signature",5);
    }
    else {
      uVar10 = dcgettext(0,"dwo_id",5);
    }
    printf("  slot  %-16s  ",uVar10);
    if ((uint)local_128 != 0) goto LAB_001220c6;
LAB_0012253d:
    putchar(10);
    if (!bVar29) goto LAB_00121928;
  }
  uVar26 = 0;
  do {
    if (pdVar1 < local_e8 + 1) {
      signature_high = 0;
      signature_low = 0;
    }
    else {
      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);
    }
    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);
    if (pdVar14 < pdVar1) {
      iVar5 = 4;
LAB_001221df:
      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);
      iVar5 = (int)eVar6;
      if (iVar5 != 0) {
        if (do_display == 0) {
          if ((uint)local_128 != 0) {
LAB_00122220:
            uVar27 = 0;
            pdVar20 = pdVar2;
            pdVar22 = (dwarf_section *)
                      (puVar15 +
                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));
            do {
              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);
              if (pdVar19 < pdVar1) {
                iVar23 = 4;
LAB_001222f5:
                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);
                sVar18 = eVar6 & 0xffffffff;
              }
              else {
                sVar18 = 0;
                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))
                goto LAB_001222f5;
              }
              if (do_display == 0) {
                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {
                  iVar23 = 4;
LAB_00122305:
                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);
                  uVar8 = eVar6 & 0xffffffff;
                  if (7 < (uint)eVar6) {
                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);
                    warn(pcVar7,eVar6 & 0xffffffff);
                    goto LAB_001222b6;
                  }
                }
                else {
                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))
                  goto LAB_00122305;
                  uVar8 = 0;
                }
                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;
              }
              else {
                printf(" %8d",sVar18);
              }
LAB_001222b6:
              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);
              uVar27 = uVar27 + 1;
              pdVar22 = pdVar19;
            } while (uVar27 < (uint)local_128);
            if (do_display != 0) goto LAB_001222dc;
          }
        }
        else {
          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);
          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);
          printf(pcVar11,(ulong)uVar26,pcVar7);
          pdVar12 = local_128;
          if ((uint)local_128 != 0) goto LAB_00122220;
LAB_001222dc:
          putchar(10);
        }
      }
    }
    else if ((pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))
    goto LAB_001221df;
    uVar26 = uVar26 + 1;
    local_e8 = local_e8 + 1;
    pdVar20 = pdVar14;
  } while (uVar26 < (uint)local_120);
LAB_0012191c:
  if (do_display == 0) {
    return 1;
  }
LAB_00121928:
  putchar(10);
  return 1;
LAB_00121a48:
  if (do_display == 0) {
    uVar8 = (ulong)shndx_pool_used;
    if (shndx_pool_used < shndx_pool_size) {
      shndx_pool_used = shndx_pool_used + 1;
      shndx_pool[uVar8] = 0;
    }
    else {
      pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);
      error(pcVar7);
    }
  }
  else {
    putchar(10);
  }
  goto LAB_0012190b;
}



undefined8 FUN_00121500(long param_1,int param_2)

{
  undefined8 *puVar1;
  undefined8 *puVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  undefined4 uVar6;
  int iVar7;
  char *pcVar8;
  undefined8 *puVar9;
  undefined8 uVar10;
  undefined8 *puVar11;
  ulong uVar12;
  ulong uVar13;
  undefined8 uVar14;
  long lVar15;
  undefined8 *puVar16;
  long lVar17;
  undefined8 *puVar18;
  ulong uVar19;
  byte *pbVar20;
  byte *pbVar21;
  uint uVar22;
  uint uVar23;
  undefined8 *puVar24;
  uint uVar25;
  bool bVar26;
  bool bVar27;
  bool bVar28;
  byte bVar29;
  ulong local_120;
  undefined8 *local_f0;
  undefined8 *local_e8;
  long local_b0;
  long local_88;
  long local_80;
  undefined1 local_78 [72];
  
  bVar29 = 0;
  local_e8 = *(undefined8 **)(param_1 + 0x20);
  uVar13 = *(ulong *)(param_1 + 0x30);
  if (local_e8 == (undefined8 *)0x0) {
    uVar14 = *(undefined8 *)(param_1 + 0x10);
    pcVar8 = "Section %s is empty\n";
LAB_00121880:
    uVar10 = dcgettext(0,pcVar8,5);
    warn(uVar10,uVar14);
    return 0;
  }
  if (uVar13 < 0x18) {
    uVar14 = *(undefined8 *)(param_1 + 0x10);
    pcVar8 = "Section %s is too small to contain a CU/TU header\n";
    goto LAB_00121880;
  }
  puVar2 = (undefined8 *)((long)local_e8 + uVar13);
  puVar9 = (undefined8 *)((long)local_e8 + 4);
  puVar16 = local_e8 + 1;
  if (puVar9 < puVar2) {
    uVar19 = 4;
LAB_0012154d:
    uVar3 = (*DAT_00159e20)(local_e8,uVar19);
    if (uVar3 < 2) {
      uVar22 = 0;
      goto LAB_00121690;
    }
    if (puVar16 < puVar2) {
      lVar17 = 4;
LAB_0012183d:
      uVar22 = (*DAT_00159e20)(puVar9,lVar17);
      goto LAB_00121690;
    }
    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;
    uVar22 = 0;
    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;
LAB_00121780:
    uVar23 = (*DAT_00159e20)(puVar16,4);
    if (local_e8 + 2 < puVar2) {
LAB_001216e0:
      lVar17 = 4;
    }
    else {
      lVar17 = uVar13 - 0xc;
      if (7 < (int)lVar17 - 1U) {
LAB_001217b9:
        puVar9 = local_e8 + 2;
        local_120 = 0;
        bVar27 = false;
        puVar16 = puVar9;
        goto joined_r0x001217d3;
      }
    }
    puVar11 = local_e8 + 2;
    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);
    iVar7 = (int)uVar13;
    local_120 = uVar13 & 0xffffffff;
    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);
    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);
    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||
       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {
      uVar14 = *(undefined8 *)(param_1 + 0x10);
      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",
                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);
      goto LAB_0012175d;
    }
  }
  else {
    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {
      uVar19 = uVar13 & 0xffffffff;
      goto LAB_0012154d;
    }
    uVar3 = 0;
    uVar22 = 0;
LAB_00121690:
    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;
    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {
      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);
      if (local_e8 + 2 < puVar2) goto LAB_001216e0;
      goto LAB_001217b9;
    }
LAB_001215a0:
    puVar9 = local_e8 + 2;
    if (puVar9 < puVar2) {
      uVar23 = 0;
      goto LAB_001216e0;
    }
    uVar23 = 0;
    local_120 = 0;
    bVar27 = false;
    puVar16 = puVar9;
  }
joined_r0x001217d3:
  uVar13 = local_120;
  if (param_2 != 0) {
    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);
    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);
    printf(pcVar8,(ulong)uVar3);
    if (1 < uVar3) {
      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);
      printf(pcVar8,(ulong)uVar22);
    }
    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);
    printf(pcVar8,uVar23);
    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);
    printf(pcVar8,uVar13);
  }
  local_e8 = local_e8 + 2;
  local_120._0_4_ = (uint)uVar13;
  if (puVar2 < puVar16) {
    uVar14 = *(undefined8 *)(param_1 + 0x10);
    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);
LAB_0012175d:
    warn(uVar10,uVar14,uVar13 & 0xffffffff);
    return 0;
  }
  if (uVar3 == 1) {
    if (param_2 == 0) {
      lVar15 = (long)puVar2 - (long)puVar16;
      lVar17 = lVar15 + 3;
      if (-1 < lVar15) {
        lVar17 = lVar15;
      }
      DAT_00159b94 = (uint)(lVar17 >> 2);
      if (DAT_00159b98 == 0) {
        DAT_00159b90 = 0;
        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);
      }
      else {
        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;
        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);
      }
      if (!bVar27) {
        return 1;
      }
    }
    else if (!bVar27) goto LAB_00121928;
    uVar22 = 0;
LAB_001218e6:
    if (puVar2 < local_e8 + 1) {
      local_88 = 0;
      local_80 = 0;
      goto LAB_0012190b;
    }
    FUN_00137d20(local_e8,&local_88,&local_80);
    if ((local_88 != 0) || (local_80 != 0)) {
      lVar17 = 4;
      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||
         ((puVar11 = puVar16, puVar9 < puVar2 &&
          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {
        iVar7 = (*DAT_00159e20)(puVar9,lVar17);
        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);
        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {
          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);
          warn(uVar14);
          return 0;
        }
      }
      if (param_2 != 0) {
        uVar14 = FUN_001106c0(local_88,local_80,local_78);
        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);
        printf(pcVar8,(ulong)uVar22,uVar14);
      }
      if (puVar11 < puVar2) {
        do {
          puVar24 = (undefined8 *)((long)puVar11 + 4);
          if (puVar24 < puVar2) {
            lVar17 = 4;
          }
          else {
            lVar17 = (long)puVar2 - (long)puVar11;
            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;
          }
          uVar3 = (*DAT_00159e20)(puVar11,lVar17);
          if (uVar3 == 0) goto LAB_00121a48;
          if (param_2 == 0) {
            uVar13 = (ulong)DAT_00159b90;
            if (DAT_00159b90 < DAT_00159b94) {
              DAT_00159b90 = DAT_00159b90 + 1;
              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;
            }
            else {
              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);
              error();
            }
          }
          else {
            printf(" %d",(ulong)uVar3);
          }
          puVar11 = puVar24;
          if (puVar2 <= puVar24) break;
        } while( true );
      }
      pcVar8 = "Section %s too small for shndx pool\n";
      uVar14 = *(undefined8 *)(param_1 + 0x10);
      goto LAB_00121880;
    }
LAB_0012190b:
    uVar22 = uVar22 + 1;
    puVar9 = (undefined8 *)((long)puVar9 + 4U);
    local_e8 = local_e8 + 1;
    if ((uint)local_120 <= uVar22) goto LAB_0012191c;
    goto LAB_001218e6;
  }
  if (uVar3 != 2) {
    if (param_2 == 0) {
      return 1;
    }
    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);
    printf(pcVar8,(ulong)uVar3);
    goto LAB_00121928;
  }
  uVar3 = uVar22 * 4;
  uVar13 = (ulong)uVar3;
  uVar19 = (long)puVar16 + uVar13;
  if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {
    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);
    warn(uVar14,uVar22);
    return 0;
  }
  pbVar20 = *(byte **)(param_1 + 0x10);
  lVar17 = uVar19 + uVar3 * uVar23;
  puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);
  bVar26 = puVar2 < puVar11;
  bVar28 = puVar2 == puVar11;
  if (bVar26) {
    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);
    warn(uVar14,pbVar20);
    return 0;
  }
  lVar15 = 0x10;
  pbVar21 = (byte *)".debug_tu_index";
  do {
    if (lVar15 == 0) break;
    lVar15 = lVar15 + -1;
    bVar26 = *pbVar20 < *pbVar21;
    bVar28 = *pbVar20 == *pbVar21;
    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;
    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;
  } while (bVar28);
  bVar28 = !bVar26 && !bVar28;
  if (param_2 == 0) {
    if (bVar28 == bVar26) {
      DAT_00159b78 = uVar23;
      DAT_00159b68 = FUN_001214b0(uVar23,0x88);
      local_b0 = DAT_00159b68;
    }
    else {
      DAT_00159b7c = uVar23;
      DAT_00159b70 = FUN_001214b0(uVar23,0x88);
      local_b0 = DAT_00159b70;
    }
    if (bVar27) {
LAB_00121c31:
      uVar25 = 0;
      puVar11 = local_e8;
      puVar24 = puVar9;
      do {
        puVar1 = puVar11 + 1;
        if (puVar2 < puVar1) {
          local_88 = 0;
          local_80 = 0;
        }
        else {
          FUN_00137d20(puVar11,&local_88,&local_80);
        }
        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {
          lVar15 = 4;
LAB_00121cdf:
          uVar4 = (*DAT_00159e20)(puVar24,lVar15);
          if (uVar4 != 0) {
            if (uVar23 < uVar4) {
              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);
              warn(uVar14,uVar4,uVar23);
              return 0;
            }
            if (param_2 == 0) {
              if (puVar2 <= puVar1) {
                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);
                warn(uVar14,puVar11);
                return 0;
              }
              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);
              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);
              *local_f0 = *puVar11;
              puVar11 = (undefined8 *)(uVar13 + uVar19);
              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {
LAB_00122050:
                uVar14 = dcgettext(0,
                                   "Row index (%u) * num columns (%u) > space remaining in section\n"
                                   ,5);
                warn(uVar14,uVar4,uVar22);
                return 0;
              }
              if (uVar22 != 0) {
LAB_00121d72:
                uVar4 = 0;
                puVar18 = puVar16;
                do {
                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {
                    lVar15 = 4;
LAB_00121e65:
                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);
                    uVar13 = uVar13 & 0xffffffff;
                    if (param_2 == 0) goto LAB_00121dca;
LAB_00121e76:
                    printf(" %8d",uVar13);
                  }
                  else {
                    uVar13 = 0;
                    if ((puVar11 < puVar2) &&
                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))
                    goto LAB_00121e65;
                    if (param_2 != 0) goto LAB_00121e76;
LAB_00121dca:
                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {
                      lVar15 = 4;
LAB_00121e95:
                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);
                      uVar12 = (ulong)uVar5;
                      if (7 < uVar5) {
                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);
                        warn(uVar14,uVar5);
                        goto LAB_00121dfa;
                      }
                    }
                    else {
                      if ((puVar18 < puVar2) &&
                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))
                      goto LAB_00121e95;
                      uVar12 = 0;
                    }
                    local_f0[uVar12 + 1] = uVar13;
                  }
LAB_00121dfa:
                  puVar18 = (undefined8 *)((long)puVar18 + 4);
                  uVar4 = uVar4 + 1;
                  puVar11 = (undefined8 *)((long)puVar11 + 4);
                } while (uVar4 < uVar22);
                if (param_2 != 0) goto LAB_00121e1f;
              }
            }
            else {
              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);
              puVar11 = (undefined8 *)(uVar13 + uVar19);
              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;
              uVar14 = FUN_001106c0(local_88,local_80,local_78);
              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);
              printf(pcVar8,(ulong)uVar25,uVar14);
              if (uVar22 != 0) {
                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);
                goto LAB_00121d72;
              }
LAB_00121e1f:
              putchar(10);
            }
          }
        }
        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)
                ) goto LAB_00121cdf;
        uVar25 = uVar25 + 1;
        puVar11 = puVar1;
        puVar24 = (undefined8 *)((long)puVar24 + 4U);
      } while (uVar25 < (uint)local_120);
      if (param_2 != 0) goto LAB_001224d4;
    }
    if (uVar22 != 0) {
LAB_001220c6:
      uVar23 = 0;
      puVar11 = puVar16;
      do {
        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {
          lVar15 = 4;
LAB_0012210c:
          uVar6 = (*DAT_00159e20)(puVar11,lVar15);
        }
        else {
          uVar6 = 0;
          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))
          goto LAB_0012210c;
        }
        if (param_2 != 0) {
          uVar14 = FUN_001100d0(uVar6);
          printf(" %8s",uVar14);
        }
        uVar23 = uVar23 + 1;
        puVar11 = (undefined8 *)((long)puVar11 + 4);
      } while (uVar23 < uVar22);
      if (param_2 != 0) goto LAB_0012253d;
    }
    if (!bVar27) {
      return 1;
    }
  }
  else {
    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);
    printf(pcVar8);
    if (bVar28 == bVar26) {
      uVar14 = dcgettext(0,"signature",5);
    }
    else {
      uVar14 = dcgettext(0,"dwo_id",5);
    }
    printf("  slot  %-16s  ",uVar14);
    if (uVar22 != 0) {
      puVar11 = puVar16;
      do {
        puVar24 = (undefined8 *)((long)puVar11 + 4);
        if (puVar24 < puVar2) {
          lVar15 = 4;
LAB_001224a9:
          uVar6 = (*DAT_00159e20)(puVar11,lVar15);
        }
        else {
          uVar6 = 0;
          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))
          goto LAB_001224a9;
        }
        uVar14 = FUN_001100d0(uVar6);
        printf(" %8s",uVar14);
        puVar11 = puVar24;
      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);
    }
    putchar(10);
    local_b0 = 0;
    if (bVar27) goto LAB_00121c31;
LAB_001224d4:
    putchar(10);
    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);
    printf(pcVar8);
    if (bVar28 == bVar26) {
      uVar14 = dcgettext(0,"signature",5);
    }
    else {
      uVar14 = dcgettext(0,"dwo_id",5);
    }
    printf("  slot  %-16s  ",uVar14);
    if (uVar22 != 0) goto LAB_001220c6;
LAB_0012253d:
    putchar(10);
    if (!bVar27) goto LAB_00121928;
  }
  uVar23 = 0;
  do {
    if (puVar2 < local_e8 + 1) {
      local_88 = 0;
      local_80 = 0;
    }
    else {
      FUN_00137d20(local_e8,&local_88,&local_80);
    }
    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {
      lVar15 = 4;
LAB_001221df:
      iVar7 = (*DAT_00159e20)(puVar9,lVar15);
      if (iVar7 != 0) {
        if (param_2 == 0) {
          if (uVar22 != 0) {
LAB_00122220:
            uVar25 = 0;
            puVar11 = puVar16;
            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));
            do {
              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {
                lVar15 = 4;
LAB_001222f5:
                uVar13 = (*DAT_00159e20)(puVar24,lVar15);
                uVar13 = uVar13 & 0xffffffff;
              }
              else {
                uVar13 = 0;
                if ((puVar24 < puVar2) &&
                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;
              }
              if (param_2 == 0) {
                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {
                  lVar15 = 4;
LAB_00122305:
                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);
                  uVar19 = (ulong)uVar4;
                  if (7 < uVar4) {
                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);
                    warn(uVar14,uVar4);
                    goto LAB_001222b6;
                  }
                }
                else {
                  if ((puVar11 < puVar2) &&
                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))
                  goto LAB_00122305;
                  uVar19 = 0;
                }
                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;
              }
              else {
                printf(" %8d",uVar13);
              }
LAB_001222b6:
              puVar11 = (undefined8 *)((long)puVar11 + 4);
              uVar25 = uVar25 + 1;
              puVar24 = (undefined8 *)((long)puVar24 + 4);
            } while (uVar25 < uVar22);
            if (param_2 != 0) goto LAB_001222dc;
          }
        }
        else {
          uVar14 = FUN_001106c0(local_88,local_80,local_78);
          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);
          printf(pcVar8,(ulong)uVar23,uVar14);
          if (uVar22 != 0) goto LAB_00122220;
LAB_001222dc:
          putchar(10);
        }
      }
    }
    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))
    goto LAB_001221df;
    uVar23 = uVar23 + 1;
    local_e8 = local_e8 + 1;
    puVar9 = (undefined8 *)((long)puVar9 + 4U);
  } while (uVar23 < (uint)local_120);
LAB_0012191c:
  if (param_2 == 0) {
    return 1;
  }
LAB_00121928:
  putchar(10);
  return 1;
LAB_00121a48:
  if (param_2 == 0) {
    uVar13 = (ulong)DAT_00159b90;
    if (DAT_00159b90 < DAT_00159b94) {
      DAT_00159b90 = DAT_00159b90 + 1;
      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;
    }
    else {
      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);
      error(uVar14);
    }
  }
  else {
    putchar(10);
  }
  goto LAB_0012190b;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
MOV RBP,RDI
PUSH RBX
SUB RSP,0xf8
MOV R13,qword ptr [RDI + 0x20]
MOV R15,qword ptr [RDI + 0x30]
TEST R13,R13
JZ 0x00121a88
CMP R15,0x17
JBE 0x00121870
LEA R14,[R13 + R15*0x1]
LEA RBX,[R13 + 0x4]
MOV R12D,ESI
LEA RCX,[R13 + 0x8]
CMP RBX,R14
JNC 0x00121678
MOV ESI,0x4
MOV qword ptr [RSP],RCX
MOV RDI,R13
CALL qword ptr [0x00159e20]
MOV RCX,qword ptr [RSP]
CMP EAX,0x1
MOV dword ptr [RSP + 0x18],EAX
JBE 0x001218a0
CMP R14,RCX
JA 0x00121838
CMP RBX,R14
JNC 0x00121589
LEA RSI,[R15 + -0x4]
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x0012183d
LEA RDX,[R13 + 0xc]
MOV dword ptr [RSP],0x0
CMP R14,RDX
JA 0x00121780
NOP dword ptr [RAX]
LEA RBX,[R13 + 0x10]
CMP RBX,R14
JC 0x00121810
MOV qword ptr [RSP + 0x40],RBX
MOV qword ptr [RSP + 0x10],RBX
MOV dword ptr [RSP + 0x28],0x0
MOV dword ptr [RSP + 0x8],0x0
MOV byte ptr [RSP + 0x20],0x0
TEST R12D,R12D
JZ 0x001217d9
MOV RDI,qword ptr [RBP + 0x10]
LEA RSI,[RBP + 0x18]
CALL 0x00110740
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x140a18]
CALL 0x00107230
MOV R15D,dword ptr [RSP + 0x18]
MOV RDI,RAX
XOR EAX,EAX
MOV ESI,R15D
CALL 0x00107290
CMP R15D,0x1
JBE 0x0012162d
LEA RSI,[0x140a38]
XOR EDI,EDI
MOV EDX,0x5
CALL 0x00107230
MOV ESI,dword ptr [RSP]
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107290
MOV EDX,0x5
XOR EDI,EDI
LEA RSI,[0x140a58]
CALL 0x00107230
MOV ESI,dword ptr [RSP + 0x28]
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107290
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x140a78]
CALL 0x00107230
MOV ESI,dword ptr [RSP + 0x8]
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107290
JMP 0x001217d9
CMP R13,R14
JC 0x00121820
MOV dword ptr [RSP + 0x18],0x0
MOV dword ptr [RSP],0x0
LEA RDX,[R13 + 0xc]
CMP RDX,R14
JC 0x00121780
CMP R14,RCX
JBE 0x001215a0
SUB R15,0x8
LEA EAX,[R15 + -0x1]
CMP EAX,0x7
JA 0x001215a0
LEA RBX,[R13 + 0x10]
MOV qword ptr [RSP + 0x8],RDX
MOV ESI,R15D
MOV RDI,RCX
CALL qword ptr [0x00159e20]
CMP R14,RBX
MOV RDX,qword ptr [RSP + 0x8]
MOV dword ptr [RSP + 0x28],EAX
JBE 0x001217b9
NOP
MOV ESI,0x4
MOV RDI,RDX
CALL qword ptr [0x00159e20]
MOV R15,RAX
MOV dword ptr [RSP + 0x8],EAX
LEA EAX,[RAX*0x8]
ADD RAX,RBX
LEA EDX,[R15*0x4]
ADD RDX,RAX
MOV qword ptr [RSP + 0x10],RDX
CMP RBX,RAX
JA 0x00121738
CMP R13,RDX
JA 0x00121738
TEST R15D,R15D
SETNZ byte ptr [RSP + 0x20]
MOVZX EDI,byte ptr [RSP + 0x20]
CMP RBX,RAX
JNZ 0x00121860
TEST DIL,DIL
JZ 0x00121860
LEA RDX,[0x1409c8]
MOV ECX,R15D
XOR EDI,EDI
MOV RBX,qword ptr [RBP + 0x10]
MOV R8D,0x5
LEA RSI,[0x1409f0]
CALL 0x001076c0
MOV EDX,R15D
MOV RDI,RAX
MOV RSI,RBX
XOR EAX,EAX
CALL 0x001379e0
XOR EAX,EAX
ADD RSP,0xf8
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA RBX,[R13 + 0x10]
MOV qword ptr [RSP + 0x8],RDX
MOV ESI,0x4
MOV RDI,RCX
CALL qword ptr [0x00159e20]
CMP RBX,R14
MOV RDX,qword ptr [RSP + 0x8]
MOV dword ptr [RSP + 0x28],EAX
JC 0x001216e0
LEA RSI,[R15 + -0xc]
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x001216e5
MOV qword ptr [RSP + 0x40],RBX
MOV qword ptr [RSP + 0x10],RBX
MOV dword ptr [RSP + 0x8],0x0
MOV byte ptr [RSP + 0x20],0x0
TEST R12D,R12D
JNZ 0x001215d5
CMP qword ptr [RSP + 0x10],R14
JA 0x00121aa0
CMP dword ptr [RSP + 0x18],0x1
JZ 0x001218b0
CMP dword ptr [RSP + 0x18],0x2
JZ 0x00121b70
TEST R12D,R12D
JNZ 0x00121fb0
MOV EAX,0x1
JMP 0x0012176c
MOV dword ptr [RSP + 0x28],0x0
JMP 0x001216e0
LEA EAX,[R15 + -0x1]
CMP EAX,0x7
JA 0x00121681
MOV ESI,R15D
JMP 0x0012154d
MOV ESI,0x4
MOV qword ptr [RSP + 0x8],RCX
MOV RDI,RBX
CALL qword ptr [0x00159e20]
MOV RCX,qword ptr [RSP + 0x8]
MOV dword ptr [RSP],EAX
JMP 0x00121690
MOV qword ptr [RSP + 0x40],RBX
MOV RBX,RAX
JMP 0x001217d0
MOV RBX,qword ptr [RDI + 0x10]
MOV EDX,0x5
LEA RSI,[0x140990]
XOR EDI,EDI
CALL 0x00107230
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001379e0
XOR EAX,EAX
JMP 0x0012176c
MOV dword ptr [RSP],0x0
JMP 0x00121690
TEST R12D,R12D
JZ 0x00121fe0
CMP byte ptr [RSP + 0x20],0x0
JZ 0x00121928
LEA RAX,[RSP + 0xa8]
MOV qword ptr [RSP + 0x20],RBP
MOV RDI,qword ptr [RSP + 0x40]
XOR R13D,R13D
MOV qword ptr [RSP],RAX
LEA RAX,[RSP + 0xa0]
MOV qword ptr [RSP + 0x18],RAX
LEA RBP,[RDI + 0x8]
LEA R15,[RBX + 0x4]
CMP RBP,R14
JBE 0x00121940
MOV qword ptr [RSP + 0xa0],0x0
MOV qword ptr [RSP + 0xa8],0x0
ADD R13D,0x1
MOV RDI,RBP
MOV RBX,R15
CMP R13D,dword ptr [RSP + 0x8]
JC 0x001218e6
TEST R12D,R12D
JZ 0x00121803
NOP dword ptr [RAX]
MOV EDI,0xa
CALL 0x00107090
JMP 0x00121803
MOV RDX,qword ptr [RSP]
MOV RSI,qword ptr [RSP + 0x18]
CALL 0x00137d20
CMP qword ptr [RSP + 0xa0],0x0
JZ 0x00122038
MOV ESI,0x4
CMP R14,R15
JBE 0x00121a60
MOV RDI,RBX
CALL qword ptr [0x00159e20]
LEA ECX,[RAX*0x4]
ADD RCX,qword ptr [RSP + 0x10]
JC 0x001223ae
TEST R12D,R12D
JNZ 0x00121ae0
CMP R14,RCX
JA 0x001219bc
JMP 0x00121ac0
MOV ESI,EAX
LEA RDI,[0x142bfd]
XOR EAX,EAX
CALL 0x00107290
MOV RCX,RBX
CMP RBX,R14
JNC 0x00121ac0
LEA RBX,[RCX + 0x4]
CMP RBX,R14
JC 0x00121a10
MOV RSI,R14
SUB RSI,RCX
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JA 0x00121a48
MOV RDI,RCX
CALL qword ptr [0x00159e20]
TEST EAX,EAX
JZ 0x00121a48
TEST R12D,R12D
JNZ 0x001219a0
MOV EDX,dword ptr [0x00159b90]
CMP EDX,dword ptr [0x00159b94]
JNC 0x00121a20
LEA ECX,[RDX + 0x1]
MOV dword ptr [0x00159b90],ECX
MOV RCX,qword ptr [0x00159b98]
MOV dword ptr [RCX + RDX*0x4],EAX
JMP 0x001219b0
MOV ESI,0x4
JMP 0x001219d3
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x140b50]
CALL 0x00107230
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00137490
JMP 0x001219b0
TEST R12D,R12D
JZ 0x00121b38
MOV EDI,0xa
CALL 0x00107090
JMP 0x0012190b
LEA RAX,[R15 + -0x4]
CMP R14,RAX
JBE 0x00121a7b
MOV RSI,R14
SUB RSI,RBX
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x0012196b
MOV RCX,qword ptr [RSP + 0x10]
JMP 0x00121986
MOV RBX,qword ptr [RDI + 0x10]
MOV EDX,0x5
LEA RSI,[0x14331a]
JMP 0x00121880
MOV EDX,0x5
LEA RSI,[0x140a98]
XOR EDI,EDI
MOV RBX,qword ptr [RBP + 0x10]
CALL 0x00107230
MOV EDX,dword ptr [RSP + 0x8]
JMP 0x0012175d
MOV RBP,qword ptr [RSP + 0x20]
MOV EDX,0x5
LEA RSI,[0x140b28]
MOV RBX,qword ptr [RBP + 0x10]
JMP 0x00121880
MOV RSI,qword ptr [RSP + 0xa8]
MOV RDI,qword ptr [RSP + 0xa0]
MOV qword ptr [RSP + 0x28],RCX
LEA RDX,[RSP + 0xb0]
CALL 0x001106c0
MOV EDX,0x5
LEA RSI,[0x140b00]
XOR EDI,EDI
MOV RBX,RAX
CALL 0x00107230
MOV RDX,RBX
MOV ESI,R13D
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107290
MOV RCX,qword ptr [RSP + 0x28]
JMP 0x0012198f
MOV EAX,dword ptr [0x00159b90]
CMP EAX,dword ptr [0x00159b94]
JNC 0x00122084
LEA EDX,[RAX + 0x1]
MOV dword ptr [0x00159b90],EDX
MOV RDX,qword ptr [0x00159b98]
MOV dword ptr [RDX + RAX*0x4],0x0
JMP 0x0012190b
MOV ECX,dword ptr [RSP]
MOV RDX,qword ptr [RSP + 0x10]
LEA EAX,[RCX*0x4]
ADD RDX,RAX
MOV dword ptr [RSP + 0x88],EAX
MOV qword ptr [RSP + 0x50],RDX
JC 0x00121e30
SAR RAX,0x2
CMP ECX,EAX
JNZ 0x00121e30
MOV EAX,dword ptr [RSP + 0x88]
IMUL EAX,dword ptr [RSP + 0x28]
MOV RDX,qword ptr [RSP + 0x50]
MOV RBP,qword ptr [RBP + 0x10]
ADD RDX,RAX
ADD RAX,RDX
MOV qword ptr [RSP + 0x90],RDX
CMP R14,RAX
JC 0x00122560
MOV ECX,0x10
LEA RDI,[0x14332f]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
MOVSX EAX,AL
MOV dword ptr [RSP + 0x8c],EAX
TEST R12D,R12D
JNZ 0x001223f7
MOV R13D,dword ptr [RSP + 0x8c]
MOV EDI,dword ptr [RSP + 0x28]
TEST R13D,R13D
JNZ 0x001223d2
MOV ESI,0x88
MOV dword ptr [0x00159b78],EDI
CALL 0x001214b0
MOV qword ptr [RSP + 0x78],RAX
MOV qword ptr [0x00159b68],RAX
CMP byte ptr [RSP + 0x20],0x0
JZ 0x001220bf
LEA RAX,[RSP + 0xa8]
MOV RCX,qword ptr [RSP + 0x40]
MOV dword ptr [RSP + 0x18],0x0
MOV qword ptr [RSP + 0x68],RAX
LEA RAX,[RSP + 0xa0]
MOV qword ptr [RSP + 0x70],RAX
LEA RAX,[RSP + 0xb0]
MOV qword ptr [RSP + 0x80],RAX
MOV RAX,R14
MOV R14,RBX
MOV qword ptr [RSP + 0x98],RBX
MOV R13,RAX
MOV dword ptr [RSP + 0x48],R12D
JMP 0x00121cac
CMP R13,R14
JBE 0x00121c93
MOV RSI,R13
SUB RSI,R14
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x00121cdf
ADD dword ptr [RSP + 0x18],0x1
MOV RCX,RBX
MOV EAX,dword ptr [RSP + 0x18]
MOV R14,R15
CMP EAX,dword ptr [RSP + 0x8]
JNC 0x001220a6
LEA RBX,[RCX + 0x8]
CMP RBX,R13
JBE 0x00121ee0
MOV qword ptr [RSP + 0xa0],0x0
MOV qword ptr [RSP + 0xa8],0x0
LEA R15,[R14 + 0x4]
CMP R15,R13
JNC 0x00121c80
MOV ESI,0x4
MOV qword ptr [RSP + 0x30],RCX
MOV RDI,R14
CALL qword ptr [0x00159e20]
MOV R8,RAX
MOV R9D,EAX
TEST EAX,EAX
JZ 0x00121c93
CMP dword ptr [RSP + 0x28],EAX
MOV RCX,qword ptr [RSP + 0x30]
JC 0x001225fb
MOV R12D,dword ptr [RSP + 0x48]
TEST R12D,R12D
JNZ 0x00121f08
CMP RBX,R13
JNC 0x00122641
LEA EDX,[RAX + -0x1]
LEA ECX,[R8 + 0x3fffffff]
MOV RAX,RDX
IMUL ECX,dword ptr [RSP + 0x88]
SHL RAX,0x4
ADD RAX,RDX
MOV RDX,qword ptr [RSP + 0x78]
LEA RAX,[RDX + RAX*0x8]
MOV RDX,RAX
MOV qword ptr [RSP + 0x38],RAX
MOV RAX,qword ptr [RBX + -0x8]
MOV qword ptr [RDX],RAX
ADD RCX,qword ptr [RSP + 0x50]
JC 0x00122050
CMP R13,RCX
JC 0x00122050
MOV R11D,dword ptr [RSP]
TEST R11D,R11D
JZ 0x00121c93
XOR R14D,R14D
MOV R12,qword ptr [RSP + 0x10]
MOV qword ptr [RSP + 0x60],R15
MOV RBP,RCX
MOV R15D,R14D
MOV R14D,dword ptr [RSP + 0x48]
MOV qword ptr [RSP + 0x58],RBX
MOV RBX,R12
NOP word ptr [RAX + RAX*0x1]
MOV RDI,RBP
ADD RBP,0x4
CMP R13,RBP
JA 0x00121e60
XOR EDX,EDX
CMP RDI,R13
JNC 0x00121dc1
MOV RSI,R13
SUB RSI,RDI
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x00121e65
TEST R14D,R14D
JNZ 0x00121e76
LEA R12,[RBX + 0x4]
CMP R13,R12
JA 0x00121e90
CMP R13,RBX
JBE 0x00121dee
MOV RSI,R13
SUB RSI,RBX
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x00121e95
XOR EAX,EAX
MOV RDI,qword ptr [RSP + 0x38]
MOV qword ptr [RDI + RAX*0x8 + 0x8],RDX
ADD R15D,0x1
MOV RBX,R12
CMP R15D,dword ptr [RSP]
JC 0x00121d98
MOV R10D,dword ptr [RSP + 0x48]
MOV RBX,qword ptr [RSP + 0x58]
MOV R15,qword ptr [RSP + 0x60]
TEST R10D,R10D
JZ 0x00121c93
MOV EDI,0xa
CALL 0x00107090
JMP 0x00121c93
MOV EDX,0x5
LEA RSI,[0x140b88]
XOR EDI,EDI
CALL 0x00107230
MOV ESI,dword ptr [RSP]
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001379e0
XOR EAX,EAX
JMP 0x0012176c
MOV ESI,0x4
CALL qword ptr [0x00159e20]
MOV EDX,EAX
TEST R14D,R14D
JZ 0x00121dca
MOV ESI,EDX
LEA RDI,[0x143371]
LEA R12,[RBX + 0x4]
XOR EAX,EAX
CALL 0x00107290
JMP 0x00121dfa
MOV ESI,0x4
MOV dword ptr [RSP + 0x30],EDX
MOV RDI,RBX
CALL qword ptr [0x00159e20]
MOV EDX,dword ptr [RSP + 0x30]
MOV RBX,RAX
MOV EAX,EAX
CMP EBX,0x7
JBE 0x00121df0
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x140ca0]
CALL 0x00107230
MOV ESI,EBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001379e0
JMP 0x00121dfa
MOV RDX,qword ptr [RSP + 0x68]
MOV RSI,qword ptr [RSP + 0x70]
MOV RDI,RCX
MOV qword ptr [RSP + 0x30],RCX
CALL 0x00137d20
MOV RCX,qword ptr [RSP + 0x30]
JMP 0x00121cd1
LEA ECX,[RAX + 0x3fffffff]
IMUL ECX,dword ptr [RSP + 0x88]
ADD RCX,qword ptr [RSP + 0x50]
JC 0x00122050
CMP R13,RCX
JC 0x00122050
MOV RDX,qword ptr [RSP + 0x80]
MOV RSI,qword ptr [RSP + 0xa8]
MOV qword ptr [RSP + 0x38],R8
MOV RDI,qword ptr [RSP + 0xa0]
MOV qword ptr [RSP + 0x30],RCX
CALL 0x001106c0
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x143364]
MOV R14,RAX
CALL 0x00107230
MOV ESI,dword ptr [RSP + 0x18]
MOV RDX,R14
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107290
MOV EBP,dword ptr [RSP]
MOV RCX,qword ptr [RSP + 0x30]
MOV R8,qword ptr [RSP + 0x38]
TEST EBP,EBP
JZ 0x00121e1f
LEA EDX,[R8 + -0x1]
MOV RAX,RDX
SHL RAX,0x4
ADD RAX,RDX
MOV RDX,qword ptr [RSP + 0x78]
LEA RAX,[RDX + RAX*0x8]
MOV qword ptr [RSP + 0x38],RAX
JMP 0x00121d72
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x143384]
CALL 0x00107230
MOV ESI,dword ptr [RSP + 0x18]
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107290
JMP 0x00121928
MOV RDX,R14
SUB RDX,qword ptr [RSP + 0x10]
MOV RDI,qword ptr [0x00159b98]
LEA RAX,[RDX + 0x3]
CMOVNS RAX,RDX
SAR RAX,0x2
TEST RDI,RDI
JZ 0x00122386
ADD EAX,dword ptr [0x00159b90]
LEA RSI,[RAX*0x4]
MOV dword ptr [0x00159b94],EAX
CALL 0x001072b0
MOV qword ptr [0x00159b98],RAX
CMP byte ptr [RSP + 0x20],0x0
JNZ 0x001218c0
JMP 0x00121803
CMP qword ptr [RSP + 0xa8],0x0
JNZ 0x0012195d
JMP 0x0012190b
MOV EDX,0x5
LEA RSI,[0x140c60]
XOR EDI,EDI
MOV dword ptr [RSP + 0x8],R9D
CALL 0x00107230
MOV R9D,dword ptr [RSP + 0x8]
MOV EDX,dword ptr [RSP]
MOV RDI,RAX
XOR EAX,EAX
MOV ESI,R9D
CALL 0x001379e0
XOR EAX,EAX
JMP 0x0012176c
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x140b50]
CALL 0x00107230
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00137490
JMP 0x0012190b
MOV R12D,dword ptr [RSP + 0x48]
MOV RBX,qword ptr [RSP + 0x98]
MOV R14,R13
TEST R12D,R12D
JNZ 0x001224d4
MOV EDI,dword ptr [RSP]
TEST EDI,EDI
JZ 0x0012213b
MOV RBP,qword ptr [RSP + 0x10]
XOR R13D,R13D
MOV R15D,dword ptr [RSP]
JMP 0x001220fb
XOR EAX,EAX
CMP RDI,R14
JNC 0x001220ed
MOV RSI,R14
SUB RSI,RDI
LEA EDX,[RSI + -0x1]
CMP EDX,0x7
JBE 0x0012210c
TEST R12D,R12D
JNZ 0x00122118
ADD R13D,0x1
CMP R13D,R15D
JNC 0x00122132
MOV RDI,RBP
ADD RBP,0x4
CMP R14,RBP
JBE 0x001220d8
MOV ESI,0x4
CALL qword ptr [0x00159e20]
JMP 0x001220ed
MOV EDI,EAX
CALL 0x001100d0
LEA RDI,[0x14335f]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107290
JMP 0x001220f2
TEST R12D,R12D
JNZ 0x0012253d
CMP byte ptr [RSP + 0x20],0x0
JZ 0x00121803
LEA RAX,[RSP + 0xa8]
MOV RDI,qword ptr [RSP + 0x40]
MOV dword ptr [RSP + 0x30],R12D
MOV qword ptr [RSP + 0x38],RAX
LEA RAX,[RSP + 0xa0]
MOV qword ptr [RSP + 0x48],RAX
MOV RAX,R14
MOV R14,RBX
MOV dword ptr [RSP + 0x18],0x0
MOV RBX,RAX
JMP 0x001221ac
CMP RBX,R14
JBE 0x00122193
MOV RSI,RBX
SUB RSI,R14
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x001221df
ADD dword ptr [RSP + 0x18],0x1
MOV RDI,R15
MOV EAX,dword ptr [RSP + 0x18]
MOV R14,R13
CMP EAX,dword ptr [RSP + 0x8]
JNC 0x0012237c
LEA R15,[RDI + 0x8]
CMP R15,RBX
JBE 0x00122368
MOV qword ptr [RSP + 0xa0],0x0
MOV qword ptr [RSP + 0xa8],0x0
LEA R13,[R14 + 0x4]
CMP R13,RBX
JNC 0x00122180
MOV ESI,0x4
MOV RDI,R14
CALL qword ptr [0x00159e20]
MOV R14,RAX
TEST EAX,EAX
JZ 0x00122193
LEA EAX,[RAX + 0x3fffffff]
MOV RDI,qword ptr [RSP + 0x90]
MOV ESI,dword ptr [RSP + 0x30]
IMUL EAX,dword ptr [RSP + 0x88]
LEA R8,[RDI + RAX*0x1]
TEST ESI,ESI
JNZ 0x00122587
MOV EDX,dword ptr [RSP]
TEST EDX,EDX
JZ 0x00122193
LEA EDX,[R14 + -0x1]
MOV R12,qword ptr [RSP + 0x10]
XOR R14D,R14D
MOV RBP,R8
MOV RAX,RDX
MOV qword ptr [RSP + 0x40],R15
MOV R15D,R14D
MOV R14D,dword ptr [RSP + 0x30]
SHL RAX,0x4
MOV qword ptr [RSP + 0x50],R13
MOV R13,RBX
MOV RBX,R12
ADD RAX,RDX
MOV RDX,qword ptr [RSP + 0x78]
LEA RAX,[RDX + RAX*0x8]
MOV qword ptr [RSP + 0x20],RAX
NOP
MOV RDI,RBP
ADD RBP,0x4
CMP R13,RBP
JA 0x001222f0
XOR EDX,EDX
CMP RDI,R13
JNC 0x00122285
MOV RSI,R13
SUB RSI,RDI
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x001222f5
TEST R14D,R14D
JNZ 0x00122348
LEA R12,[RBX + 0x4]
CMP R13,R12
JA 0x00122300
CMP RBX,R13
JNC 0x001222aa
MOV RSI,R13
SUB RSI,RBX
LEA EAX,[RSI + -0x1]
CMP EAX,0x7
JBE 0x00122305
XOR EAX,EAX
MOV RDI,qword ptr [RSP + 0x20]
MOV qword ptr [RDI + RAX*0x8 + 0x48],RDX
ADD R15D,0x1
MOV RBX,R12
CMP R15D,dword ptr [RSP]
JC 0x00122260
MOV EAX,dword ptr [RSP + 0x30]
MOV RBX,R13
MOV R15,qword ptr [RSP + 0x40]
MOV R13,qword ptr [RSP + 0x50]
TEST EAX,EAX
JZ 0x00122193
MOV EDI,0xa
CALL 0x00107090
JMP 0x00122193
MOV ESI,0x4
CALL qword ptr [0x00159e20]
MOV EDX,EAX
JMP 0x00122285
MOV ESI,0x4
MOV dword ptr [RSP + 0x28],EDX
MOV RDI,RBX
CALL qword ptr [0x00159e20]
MOV EDX,dword ptr [RSP + 0x28]
MOV RBX,RAX
MOV EAX,EAX
CMP EBX,0x7
JBE 0x001222ac
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x140ca0]
CALL 0x00107230
MOV ESI,EBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001379e0
JMP 0x001222b6
MOV ESI,EDX
LEA RDI,[0x143371]
LEA R12,[RBX + 0x4]
XOR EAX,EAX
CALL 0x00107290
JMP 0x001222b6
MOV RDX,qword ptr [RSP + 0x38]
MOV RSI,qword ptr [RSP + 0x48]
CALL 0x00137d20
JMP 0x001221d1
MOV R12D,dword ptr [RSP + 0x30]
JMP 0x0012191c
MOV EDI,EAX
MOV ESI,0x4
MOV dword ptr [0x00159b94],EAX
MOV dword ptr [0x00159b90],0x0
CALL 0x0011e220
MOV qword ptr [0x00159b98],RAX
JMP 0x00122024
MOV EDX,0x5
LEA RSI,[0x140ac8]
XOR EDI,EDI
CALL 0x00107230
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001379e0
XOR EAX,EAX
JMP 0x0012176c
MOV EAX,dword ptr [RSP + 0x28]
MOV ESI,0x88
MOV dword ptr [0x00159b7c],EAX
CALL 0x001214b0
MOV qword ptr [RSP + 0x78],RAX
MOV qword ptr [0x00159b70],RAX
JMP 0x00121c26
MOV EDX,0x5
LEA RSI,[0x14333f]
XOR EDI,EDI
CALL 0x00107230
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107290
MOV EAX,dword ptr [RSP + 0x8c]
MOV EDX,0x5
TEST EAX,EAX
JNZ 0x001225e5
LEA RSI,[0x149134]
XOR EDI,EDI
CALL 0x00107230
MOV RSI,RAX
LEA RDI,[0x14334f]
XOR EAX,EAX
CALL 0x00107290
MOV R15D,dword ptr [RSP]
TEST R15D,R15D
JZ 0x001224b6
MOV EAX,dword ptr [RSP]
MOV RCX,qword ptr [RSP + 0x10]
SUB EAX,0x1
MOV R13,RCX
LEA RBP,[RCX + RAX*0x4 + 0x4]
JMP 0x00122498
XOR EDI,EDI
CMP RAX,R14
JNC 0x0012247d
MOV RSI,R14
SUB RSI,RAX
LEA EDX,[RSI + -0x1]
CMP EDX,0x7
JBE 0x001224a9
CALL 0x001100d0
LEA RDI,[0x14335f]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107290
CMP RBP,R13
JZ 0x001224b6
MOV RAX,R13
ADD R13,0x4
CMP R14,R13
JBE 0x00122468
MOV ESI,0x4
MOV RDI,RAX
CALL qword ptr [0x00159e20]
MOV EDI,EAX
JMP 0x0012247d
MOV EDI,0xa
CALL 0x00107090
CMP byte ptr [RSP + 0x20],0x0
MOV qword ptr [RSP + 0x78],0x0
JNZ 0x00121c31
MOV EDI,0xa
CALL 0x00107090
MOV EDX,0x5
LEA RSI,[0x143376]
XOR EDI,EDI
CALL 0x00107230
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107290
MOV R9D,dword ptr [RSP + 0x8c]
MOV EDX,0x5
TEST R9D,R9D
JNZ 0x0012262e
LEA RSI,[0x149134]
XOR EDI,EDI
CALL 0x00107230
MOV RSI,RAX
LEA RDI,[0x14334f]
XOR EAX,EAX
CALL 0x00107290
MOV R8D,dword ptr [RSP]
TEST R8D,R8D
JNZ 0x001220c6
MOV EDI,0xa
CALL 0x00107090
CMP byte ptr [RSP + 0x20],0x0
JNZ 0x00122146
JMP 0x00121928
MOV EDX,0x5
LEA RSI,[0x140bb0]
XOR EDI,EDI
CALL 0x00107230
MOV RSI,RBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001379e0
XOR EAX,EAX
JMP 0x0012176c
MOV RSI,qword ptr [RSP + 0xa8]
MOV RDI,qword ptr [RSP + 0xa0]
MOV qword ptr [RSP + 0x20],R8
LEA RDX,[RSP + 0xb0]
CALL 0x001106c0
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x143364]
MOV RBP,RAX
CALL 0x00107230
MOV ESI,dword ptr [RSP + 0x18]
MOV RDX,RBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107290
MOV ECX,dword ptr [RSP]
MOV R8,qword ptr [RSP + 0x20]
TEST ECX,ECX
JNZ 0x00122220
JMP 0x001222dc
LEA RSI,[0x149841]
XOR EDI,EDI
CALL 0x00107230
MOV RSI,RAX
JMP 0x00122439
MOV EDX,0x5
LEA RSI,[0x140be8]
XOR EDI,EDI
MOV qword ptr [RSP],RAX
CALL 0x00107230
MOV R8,qword ptr [RSP]
MOV EDX,dword ptr [RSP + 0x28]
MOV RDI,RAX
XOR EAX,EAX
MOV ESI,R8D
CALL 0x001379e0
XOR EAX,EAX
JMP 0x0012176c
LEA RSI,[0x149841]
XOR EDI,EDI
CALL 0x00107230
JMP 0x0012251f
MOV EDX,0x5
LEA RSI,[0x140c28]
XOR EDI,EDI
MOV qword ptr [RSP],RCX
CALL 0x00107230
MOV RCX,qword ptr [RSP]
MOV RDI,RAX
XOR EAX,EAX
MOV RSI,RCX
CALL 0x001379e0
XOR EAX,EAX
JMP 0x0012176c
(translation_unit "undefined8 FUN_00121500(long param_1,int param_2)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  undefined8 *puVar9;\n  undefined8 uVar10;\n  undefined8 *puVar11;\n  ulong uVar12;\n  ulong uVar13;\n  undefined8 uVar14;\n  long lVar15;\n  undefined8 *puVar16;\n  long lVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined8 *puVar24;\n  uint uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  ulong local_120;\n  undefined8 *local_f0;\n  undefined8 *local_e8;\n  long local_b0;\n  long local_88;\n  long local_80;\n  undefined1 local_78 [72];\n  \n  bVar29 = 0;\n  local_e8 = *(undefined8 **)(param_1 + 0x20);\n  uVar13 = *(ulong *)(param_1 + 0x30);\n  if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }\n  if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  puVar2 = (undefined8 *)((long)local_e8 + uVar13);\n  puVar9 = (undefined8 *)((long)local_e8 + 4);\n  puVar16 = local_e8 + 1;\n  if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }\njoined_r0x001217d3:\n  uVar13 = local_120;\n  if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }\n  local_e8 = local_e8 + 2;\n  local_120._0_4_ = (uint)uVar13;\n  if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }\n  if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }\n  uVar3 = uVar22 * 4;\n  uVar13 = (ulong)uVar3;\n  uVar19 = (long)puVar16 + uVar13;\n  if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }\n  pbVar20 = *(byte **)(param_1 + 0x10);\n  lVar17 = uVar19 + uVar3 * uVar23;\n  puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);\n  bVar26 = puVar2 < puVar11;\n  bVar28 = puVar2 == puVar11;\n  if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }\n  lVar15 = 0x10;\n  pbVar21 = (byte *)".debug_tu_index";\n  do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);\n  bVar28 = !bVar26 && !bVar28;\n  if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }\n  uVar23 = 0;\n  do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);\nLAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}\n\n" (function_definition "undefined8 FUN_00121500(long param_1,int param_2)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  undefined8 *puVar9;\n  undefined8 uVar10;\n  undefined8 *puVar11;\n  ulong uVar12;\n  ulong uVar13;\n  undefined8 uVar14;\n  long lVar15;\n  undefined8 *puVar16;\n  long lVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined8 *puVar24;\n  uint uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  ulong local_120;\n  undefined8 *local_f0;\n  undefined8 *local_e8;\n  long local_b0;\n  long local_88;\n  long local_80;\n  undefined1 local_78 [72];\n  \n  bVar29 = 0;\n  local_e8 = *(undefined8 **)(param_1 + 0x20);\n  uVar13 = *(ulong *)(param_1 + 0x30);\n  if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }\n  if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  puVar2 = (undefined8 *)((long)local_e8 + uVar13);\n  puVar9 = (undefined8 *)((long)local_e8 + 4);\n  puVar16 = local_e8 + 1;\n  if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }\njoined_r0x001217d3:\n  uVar13 = local_120;\n  if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }\n  local_e8 = local_e8 + 2;\n  local_120._0_4_ = (uint)uVar13;\n  if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }\n  if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }\n  uVar3 = uVar22 * 4;\n  uVar13 = (ulong)uVar3;\n  uVar19 = (long)puVar16 + uVar13;\n  if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }\n  pbVar20 = *(byte **)(param_1 + 0x10);\n  lVar17 = uVar19 + uVar3 * uVar23;\n  puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);\n  bVar26 = puVar2 < puVar11;\n  bVar28 = puVar2 == puVar11;\n  if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }\n  lVar15 = 0x10;\n  pbVar21 = (byte *)".debug_tu_index";\n  do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);\n  bVar28 = !bVar26 && !bVar28;\n  if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }\n  uVar23 = 0;\n  do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);\nLAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}" type_identifier (function_declarator "FUN_00121500(long param_1,int param_2)" identifier (parameter_list "(long param_1,int param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  undefined8 *puVar9;\n  undefined8 uVar10;\n  undefined8 *puVar11;\n  ulong uVar12;\n  ulong uVar13;\n  undefined8 uVar14;\n  long lVar15;\n  undefined8 *puVar16;\n  long lVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined8 *puVar24;\n  uint uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  ulong local_120;\n  undefined8 *local_f0;\n  undefined8 *local_e8;\n  long local_b0;\n  long local_88;\n  long local_80;\n  undefined1 local_78 [72];\n  \n  bVar29 = 0;\n  local_e8 = *(undefined8 **)(param_1 + 0x20);\n  uVar13 = *(ulong *)(param_1 + 0x30);\n  if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }\n  if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  puVar2 = (undefined8 *)((long)local_e8 + uVar13);\n  puVar9 = (undefined8 *)((long)local_e8 + 4);\n  puVar16 = local_e8 + 1;\n  if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }\njoined_r0x001217d3:\n  uVar13 = local_120;\n  if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }\n  local_e8 = local_e8 + 2;\n  local_120._0_4_ = (uint)uVar13;\n  if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }\n  if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }\n  uVar3 = uVar22 * 4;\n  uVar13 = (ulong)uVar3;\n  uVar19 = (long)puVar16 + uVar13;\n  if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }\n  pbVar20 = *(byte **)(param_1 + 0x10);\n  lVar17 = uVar19 + uVar3 * uVar23;\n  puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);\n  bVar26 = puVar2 < puVar11;\n  bVar28 = puVar2 == puVar11;\n  if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }\n  lVar15 = 0x10;\n  pbVar21 = (byte *)".debug_tu_index";\n  do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);\n  bVar28 = !bVar26 && !bVar28;\n  if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }\n  uVar23 = 0;\n  do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);\nLAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "undefined8 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "undefined8 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "ulong uVar19;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "undefined8 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "byte bVar29;" type_identifier identifier ;) (declaration "ulong local_120;" type_identifier identifier ;) (declaration "undefined8 *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "undefined8 *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "long local_b0;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_88;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_80;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_78 [72];" type_identifier (array_declarator "local_78 [72]" identifier [ number_literal ]) ;) (expression_statement "bVar29 = 0;" (assignment_expression "bVar29 = 0" identifier = number_literal) ;) (expression_statement "local_e8 = *(undefined8 **)(param_1 + 0x20);" (assignment_expression "local_e8 = *(undefined8 **)(param_1 + 0x20)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x20)" * (cast_expression "(undefined8 **)(param_1 + 0x20)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(ulong *)(param_1 + 0x30);" (assignment_expression "uVar13 = *(ulong *)(param_1 + 0x30)" identifier = (pointer_expression "*(ulong *)(param_1 + 0x30)" * (cast_expression "(ulong *)(param_1 + 0x30)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }" if (parenthesized_expression "(local_e8 == (undefined8 *)0x0)" ( (binary_expression "local_e8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }" { (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = "Section %s is empty\n";" (assignment_expression "pcVar8 = "Section %s is empty\n"" identifier = (string_literal ""Section %s is empty\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);" statement_identifier : (expression_statement "uVar10 = dcgettext(0,pcVar8,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar8,5)" identifier = (call_expression "dcgettext(0,pcVar8,5)" identifier (argument_list "(0,pcVar8,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "warn(uVar10,uVar14);" (call_expression "warn(uVar10,uVar14)" identifier (argument_list "(uVar10,uVar14)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }" if (parenthesized_expression "(uVar13 < 0x18)" ( (binary_expression "uVar13 < 0x18" identifier < number_literal) )) (compound_statement "{\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }" { (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = "Section %s is too small to contain a CU/TU header\n";" (assignment_expression "pcVar8 = "Section %s is too small to contain a CU/TU header\n"" identifier = (string_literal ""Section %s is too small to contain a CU/TU header\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00121880;" goto statement_identifier ;) })) (expression_statement "puVar2 = (undefined8 *)((long)local_e8 + uVar13);" (assignment_expression "puVar2 = (undefined8 *)((long)local_e8 + uVar13)" identifier = (cast_expression "(undefined8 *)((long)local_e8 + uVar13)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_e8 + uVar13)" ( (binary_expression "(long)local_e8 + uVar13" (cast_expression "(long)local_e8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) ;) (expression_statement "puVar9 = (undefined8 *)((long)local_e8 + 4);" (assignment_expression "puVar9 = (undefined8 *)((long)local_e8 + 4)" identifier = (cast_expression "(undefined8 *)((long)local_e8 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_e8 + 4)" ( (binary_expression "(long)local_e8 + 4" (cast_expression "(long)local_e8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "puVar16 = local_e8 + 1;" (assignment_expression "puVar16 = local_e8 + 1" identifier = (binary_expression "local_e8 + 1" identifier + number_literal)) ;) (if_statement "if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }" if (parenthesized_expression "(puVar9 < puVar2)" ( (binary_expression "puVar9 < puVar2" identifier < identifier) )) (compound_statement "{\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }" { (expression_statement "uVar19 = 4;" (assignment_expression "uVar19 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);" statement_identifier : (expression_statement "uVar3 = (*DAT_00159e20)(local_e8,uVar19);" (assignment_expression "uVar3 = (*DAT_00159e20)(local_e8,uVar19)" identifier = (call_expression "(*DAT_00159e20)(local_e8,uVar19)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(local_e8,uVar19)" ( identifier , identifier )))) ;)) (if_statement "if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }" if (parenthesized_expression "(uVar3 < 2)" ( (binary_expression "uVar3 < 2" identifier < number_literal) )) (compound_statement "{\n      uVar22 = 0;\n      goto LAB_00121690;\n    }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00121690;" goto statement_identifier ;) })) (if_statement "if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }" if (parenthesized_expression "(puVar16 < puVar2)" ( (binary_expression "puVar16 < puVar2" identifier < identifier) )) (compound_statement "{\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }" { (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);" statement_identifier : (expression_statement "uVar22 = (*DAT_00159e20)(puVar9,lVar17);" (assignment_expression "uVar22 = (*DAT_00159e20)(puVar9,lVar17)" identifier = (call_expression "(*DAT_00159e20)(puVar9,lVar17)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar9,lVar17)" ( identifier , identifier )))) ;)) (goto_statement "goto LAB_00121690;" goto statement_identifier ;) })) (if_statement "if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;" if (parenthesized_expression "((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8))" ( (binary_expression "(puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)" (parenthesized_expression "(puVar9 < puVar2)" ( (binary_expression "puVar9 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)" ( (comma_expression "lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8" (assignment_expression "lVar17 = uVar13 - 4" identifier = (binary_expression "uVar13 - 4" identifier - number_literal)) , (binary_expression "(int)lVar17 - 1U < 8" (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_0012183d;" goto statement_identifier ;)) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (if_statement "if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;" if (parenthesized_expression "(puVar2 <= (undefined8 *)((long)local_e8 + 0xcU))" ( (binary_expression "puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)" identifier <= (cast_expression "(undefined8 *)((long)local_e8 + 0xcU)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_e8 + 0xcU)" ( (binary_expression "(long)local_e8 + 0xcU" (cast_expression "(long)local_e8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )) (goto_statement "goto LAB_001215a0;" goto statement_identifier ;)) (labeled_statement "LAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);" statement_identifier : (expression_statement "uVar23 = (*DAT_00159e20)(puVar16,4);" (assignment_expression "uVar23 = (*DAT_00159e20)(puVar16,4)" identifier = (call_expression "(*DAT_00159e20)(puVar16,4)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar16,4)" ( identifier , number_literal )))) ;)) (if_statement "if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }" if (parenthesized_expression "(local_e8 + 2 < puVar2)" ( (binary_expression "local_e8 + 2 < puVar2" (binary_expression "local_e8 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_001216e0:\n      lVar17 = 4;\n    }" { (labeled_statement "LAB_001216e0:\n      lVar17 = 4;" statement_identifier : (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" identifier = number_literal) ;)) }) (else_clause "else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }" else (compound_statement "{\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }" { (expression_statement "lVar17 = uVar13 - 0xc;" (assignment_expression "lVar17 = uVar13 - 0xc" identifier = (binary_expression "uVar13 - 0xc" identifier - number_literal)) ;) (if_statement "if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }" if (parenthesized_expression "(7 < (int)lVar17 - 1U)" ( (binary_expression "7 < (int)lVar17 - 1U" number_literal < (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) (compound_statement "{\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }" { (labeled_statement "LAB_001217b9:\n        puVar9 = local_e8 + 2;" statement_identifier : (expression_statement "puVar9 = local_e8 + 2;" (assignment_expression "puVar9 = local_e8 + 2" identifier = (binary_expression "local_e8 + 2" identifier + number_literal)) ;)) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" identifier = number_literal) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "puVar16 = puVar9;" (assignment_expression "puVar16 = puVar9" identifier = identifier) ;) (goto_statement "goto joined_r0x001217d3;" goto statement_identifier ;) })) }))) (expression_statement "puVar11 = local_e8 + 2;" (assignment_expression "puVar11 = local_e8 + 2" identifier = (binary_expression "local_e8 + 2" identifier + number_literal)) ;) (expression_statement "uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);" (assignment_expression "uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17)" identifier = (call_expression "(*DAT_00159e20)((long)local_e8 + 0xc,lVar17)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "((long)local_e8 + 0xc,lVar17)" ( (binary_expression "(long)local_e8 + 0xc" (cast_expression "(long)local_e8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) , identifier )))) ;) (expression_statement "iVar7 = (int)uVar13;" (assignment_expression "iVar7 = (int)uVar13" identifier = (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_120 = uVar13 & 0xffffffff;" (assignment_expression "local_120 = uVar13 & 0xffffffff" identifier = (binary_expression "uVar13 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);" (assignment_expression "puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11)" identifier = (cast_expression "(undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uint)(iVar7 * 8) + (long)puVar11)" ( (binary_expression "(ulong)(uint)(iVar7 * 8) + (long)puVar11" (call_expression "(ulong)(uint)(iVar7 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar7 * 8)" ( (binary_expression "iVar7 * 8" identifier * number_literal) ))) + (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);" (assignment_expression "puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9)" identifier = (cast_expression "(undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uint)(iVar7 * 4) + (long)puVar9)" ( (binary_expression "(ulong)(uint)(iVar7 * 4) + (long)puVar9" (call_expression "(ulong)(uint)(iVar7 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar7 * 4)" ( (binary_expression "iVar7 * 4" identifier * number_literal) ))) + (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }" if (parenthesized_expression "(((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27))))" ( (binary_expression "((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))" (parenthesized_expression "((puVar9 < puVar11) || (puVar16 < local_e8))" ( (binary_expression "(puVar9 < puVar11) || (puVar16 < local_e8)" (parenthesized_expression "(puVar9 < puVar11)" ( (binary_expression "puVar9 < puVar11" identifier < identifier) )) || (parenthesized_expression "(puVar16 < local_e8)" ( (binary_expression "puVar16 < local_e8" identifier < identifier) ))) )) || (parenthesized_expression "((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))" ( (parenthesized_expression "(bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27))" ( (comma_expression "bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)" (assignment_expression "bVar27 = iVar7 != 0" identifier = (binary_expression "iVar7 != 0" identifier != number_literal)) , (binary_expression "puVar11 == puVar9 && (bVar27)" (binary_expression "puVar11 == puVar9" identifier == identifier) && (parenthesized_expression "(bVar27)" ( identifier )))) )) ))) )) (compound_statement "{\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }" { (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);" (assignment_expression "uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5)" identifier = (call_expression "dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5)" identifier (argument_list "(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5)" ( number_literal , (string_literal ""Section %s is too small for %d slot\n"" " string_content escape_sequence ") , (string_literal ""Section %s is too small for %d slots\n"" " string_content escape_sequence ") , (binary_expression "uVar13 & 0xffffffff" identifier & number_literal) , number_literal )))) ;) (goto_statement "goto LAB_0012175d;" goto statement_identifier ;) })) }) (else_clause "else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }" else (compound_statement "{\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }" { (if_statement "if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }" if (parenthesized_expression "((local_e8 < puVar2) && ((int)uVar13 - 1U < 8))" ( (binary_expression "(local_e8 < puVar2) && ((int)uVar13 - 1U < 8)" (parenthesized_expression "(local_e8 < puVar2)" ( (binary_expression "local_e8 < puVar2" identifier < identifier) )) && (parenthesized_expression "((int)uVar13 - 1U < 8)" ( (binary_expression "(int)uVar13 - 1U < 8" (binary_expression "(int)uVar13 - 1U" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal) ))) )) (compound_statement "{\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }" { (expression_statement "uVar19 = uVar13 & 0xffffffff;" (assignment_expression "uVar19 = uVar13 & 0xffffffff" identifier = (binary_expression "uVar13 & 0xffffffff" identifier & number_literal)) ;) (goto_statement "goto LAB_0012154d;" goto statement_identifier ;) })) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;" statement_identifier : (if_statement "if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;" if (parenthesized_expression "((undefined8 *)((long)local_e8 + 0xcU) < puVar2)" ( (binary_expression "(undefined8 *)((long)local_e8 + 0xcU) < puVar2" (cast_expression "(undefined8 *)((long)local_e8 + 0xcU)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_e8 + 0xcU)" ( (binary_expression "(long)local_e8 + 0xcU" (cast_expression "(long)local_e8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (goto_statement "goto LAB_00121780;" goto statement_identifier ;))) (if_statement "if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }" if (parenthesized_expression "((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8))" ( (binary_expression "(puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)" (parenthesized_expression "(puVar16 < puVar2)" ( (binary_expression "puVar16 < puVar2" identifier < identifier) )) && (parenthesized_expression "((int)(uVar13 - 8) - 1U < 8)" ( (binary_expression "(int)(uVar13 - 8) - 1U < 8" (binary_expression "(int)(uVar13 - 8) - 1U" (cast_expression "(int)(uVar13 - 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar13 - 8)" ( (binary_expression "uVar13 - 8" identifier - number_literal) ))) - number_literal) < number_literal) ))) )) (compound_statement "{\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }" { (expression_statement "uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);" (assignment_expression "uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff)" identifier = (call_expression "(*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar16,uVar13 - 8 & 0xffffffff)" ( identifier , (binary_expression "uVar13 - 8 & 0xffffffff" (binary_expression "uVar13 - 8" identifier - number_literal) & number_literal) )))) ;) (if_statement "if (local_e8 + 2 < puVar2) goto LAB_001216e0;" if (parenthesized_expression "(local_e8 + 2 < puVar2)" ( (binary_expression "local_e8 + 2 < puVar2" (binary_expression "local_e8 + 2" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_001216e0;" goto statement_identifier ;)) (goto_statement "goto LAB_001217b9;" goto statement_identifier ;) })) (labeled_statement "LAB_001215a0:\n    puVar9 = local_e8 + 2;" statement_identifier : (expression_statement "puVar9 = local_e8 + 2;" (assignment_expression "puVar9 = local_e8 + 2" identifier = (binary_expression "local_e8 + 2" identifier + number_literal)) ;)) (if_statement "if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }" if (parenthesized_expression "(puVar9 < puVar2)" ( (binary_expression "puVar9 < puVar2" identifier < identifier) )) (compound_statement "{\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }" { (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001216e0;" goto statement_identifier ;) })) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" identifier = number_literal) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "puVar16 = puVar9;" (assignment_expression "puVar16 = puVar9" identifier = identifier) ;) }))) (labeled_statement "joined_r0x001217d3:\n  uVar13 = local_120;" statement_identifier : (expression_statement "uVar13 = local_120;" (assignment_expression "uVar13 = local_120" identifier = identifier) ;)) (if_statement "if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }" { (expression_statement "FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);" (call_expression "FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , (binary_expression "param_1 + 0x18" identifier + number_literal) ))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                 %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                 %d\n",5)" identifier (argument_list "(0,"  Version:                 %d\n",5)" ( number_literal , (string_literal ""  Version:                 %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar3);" (call_expression "printf(pcVar8,(ulong)uVar3)" identifier (argument_list "(pcVar8,(ulong)uVar3)" ( identifier , (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (if_statement "if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }" if (parenthesized_expression "(1 < uVar3)" ( (binary_expression "1 < uVar3" number_literal < identifier) )) (compound_statement "{\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }" { (expression_statement "pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Number of columns:       %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Number of columns:       %d\n",5)" identifier (argument_list "(0,"  Number of columns:       %d\n",5)" ( number_literal , (string_literal ""  Number of columns:       %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar22);" (call_expression "printf(pcVar8,(ulong)uVar22)" identifier (argument_list "(pcVar8,(ulong)uVar22)" ( identifier , (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) })) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Number of used entries:  %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Number of used entries:  %d\n",5)" identifier (argument_list "(0,"  Number of used entries:  %d\n",5)" ( number_literal , (string_literal ""  Number of used entries:  %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,uVar23);" (call_expression "printf(pcVar8,uVar23)" identifier (argument_list "(pcVar8,uVar23)" ( identifier , identifier ))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Number of slots:         %d\n\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Number of slots:         %d\n\n",5)" identifier (argument_list "(0,"  Number of slots:         %d\n\n",5)" ( number_literal , (string_literal ""  Number of slots:         %d\n\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,uVar13);" (call_expression "printf(pcVar8,uVar13)" identifier (argument_list "(pcVar8,uVar13)" ( identifier , identifier ))) ;) })) (expression_statement "local_e8 = local_e8 + 2;" (assignment_expression "local_e8 = local_e8 + 2" identifier = (binary_expression "local_e8 + 2" identifier + number_literal)) ;) (expression_statement "local_120._0_4_ = (uint)uVar13;" (assignment_expression "local_120._0_4_ = (uint)uVar13" (field_expression "local_120._0_4_" identifier . field_identifier) = (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }" if (parenthesized_expression "(puVar2 < puVar16)" ( (binary_expression "puVar2 < puVar16" identifier < identifier) )) (compound_statement "{\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }" { (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);" (assignment_expression "uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5)" identifier = (call_expression "dcgettext(0,"Section %s too small for %d hash table entries\n",5)" identifier (argument_list "(0,"Section %s too small for %d hash table entries\n",5)" ( number_literal , (string_literal ""Section %s too small for %d hash table entries\n"" " string_content escape_sequence ") , number_literal )))) ;) (labeled_statement "LAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);" statement_identifier : (expression_statement "warn(uVar10,uVar14,uVar13 & 0xffffffff);" (call_expression "warn(uVar10,uVar14,uVar13 & 0xffffffff)" identifier (argument_list "(uVar10,uVar14,uVar13 & 0xffffffff)" ( identifier , identifier , (binary_expression "uVar13 & 0xffffffff" identifier & number_literal) ))) ;)) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }" if (parenthesized_expression "(uVar3 == 1)" ( (binary_expression "uVar3 == 1" identifier == number_literal) )) (compound_statement "{\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }" { (if_statement "if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }" { (expression_statement "lVar15 = (long)puVar2 - (long)puVar16;" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar16" identifier = (binary_expression "(long)puVar2 - (long)puVar16" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "lVar17 = lVar15 + 3;" (assignment_expression "lVar17 = lVar15 + 3" identifier = (binary_expression "lVar15 + 3" identifier + number_literal)) ;) (if_statement "if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }" if (parenthesized_expression "(-1 < lVar15)" ( (binary_expression "-1 < lVar15" number_literal < identifier) )) (compound_statement "{\n        lVar17 = lVar15;\n      }" { (expression_statement "lVar17 = lVar15;" (assignment_expression "lVar17 = lVar15" identifier = identifier) ;) })) (expression_statement "DAT_00159b94 = (uint)(lVar17 >> 2);" (assignment_expression "DAT_00159b94 = (uint)(lVar17 >> 2)" identifier = (call_expression "(uint)(lVar17 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar17 >> 2)" ( (binary_expression "lVar17 >> 2" identifier >> number_literal) )))) ;) (if_statement "if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }" if (parenthesized_expression "(DAT_00159b98 == 0)" ( (binary_expression "DAT_00159b98 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }" { (expression_statement "DAT_00159b90 = 0;" (assignment_expression "DAT_00159b90 = 0" identifier = number_literal) ;) (expression_statement "DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);" (assignment_expression "DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4)" identifier = (call_expression "FUN_0011e220(lVar17 >> 2 & 0xffffffff,4)" identifier (argument_list "(lVar17 >> 2 & 0xffffffff,4)" ( (binary_expression "lVar17 >> 2 & 0xffffffff" (binary_expression "lVar17 >> 2" identifier >> number_literal) & number_literal) , number_literal )))) ;) }) (else_clause "else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }" else (compound_statement "{\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }" { (expression_statement "DAT_00159b94 = DAT_00159b94 + DAT_00159b90;" (assignment_expression "DAT_00159b94 = DAT_00159b94 + DAT_00159b90" identifier = (binary_expression "DAT_00159b94 + DAT_00159b90" identifier + identifier)) ;) (expression_statement "DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);" (assignment_expression "DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4)" identifier = (call_expression "xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4)" identifier (argument_list "(DAT_00159b98,(ulong)DAT_00159b94 * 4)" ( identifier , (binary_expression "(ulong)DAT_00159b94 * 4" (cast_expression "(ulong)DAT_00159b94" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) )))) ;) }))) (if_statement "if (!bVar27) {\n        return 1;\n      }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else if (!bVar27) goto LAB_00121928;" else (if_statement "if (!bVar27) goto LAB_00121928;" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (goto_statement "goto LAB_00121928;" goto statement_identifier ;)))) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }" statement_identifier : (if_statement "if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }" if (parenthesized_expression "(puVar2 < local_e8 + 1)" ( (binary_expression "puVar2 < local_e8 + 1" identifier < (binary_expression "local_e8 + 1" identifier + number_literal)) )) (compound_statement "{\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }" { (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0012190b;" goto statement_identifier ;) }))) (expression_statement "FUN_00137d20(local_e8,&local_88,&local_80);" (call_expression "FUN_00137d20(local_e8,&local_88,&local_80)" identifier (argument_list "(local_e8,&local_88,&local_80)" ( identifier , (pointer_expression "&local_88" & identifier) , (pointer_expression "&local_80" & identifier) ))) ;) (if_statement "if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }" if (parenthesized_expression "((local_88 != 0) || (local_80 != 0))" ( (binary_expression "(local_88 != 0) || (local_80 != 0)" (parenthesized_expression "(local_88 != 0)" ( (binary_expression "local_88 != 0" identifier != number_literal) )) || (parenthesized_expression "(local_80 != 0)" ( (binary_expression "local_80 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }" { (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" identifier = number_literal) ;) (if_statement "if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }" if (parenthesized_expression "(((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8))))" ( (binary_expression "((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))" (parenthesized_expression "((undefined8 *)((long)puVar9 + 4U) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar9 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar9 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 4U)" ( (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) || (parenthesized_expression "((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))" ( (parenthesized_expression "(puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8))" ( (comma_expression "puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)" (assignment_expression "puVar11 = puVar16" identifier = identifier) , (binary_expression "puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)" (binary_expression "puVar9 < puVar2" identifier < identifier) && (parenthesized_expression "(lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)" ( (comma_expression "lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8" (assignment_expression "lVar17 = (long)puVar2 - (long)puVar9" identifier = (binary_expression "(long)puVar2 - (long)puVar9" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar17 - 1U < 8" (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }" { (expression_statement "iVar7 = (*DAT_00159e20)(puVar9,lVar17);" (assignment_expression "iVar7 = (*DAT_00159e20)(puVar9,lVar17)" identifier = (call_expression "(*DAT_00159e20)(puVar9,lVar17)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar9,lVar17)" ( identifier , identifier )))) ;) (expression_statement "puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);" (assignment_expression "puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16)" identifier = (cast_expression "(undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uint)(iVar7 * 4) + (long)puVar16)" ( (binary_expression "(ulong)(uint)(iVar7 * 4) + (long)puVar16" (call_expression "(ulong)(uint)(iVar7 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar7 * 4)" ( (binary_expression "iVar7 * 4" identifier * number_literal) ))) + (cast_expression "(long)puVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }" if (parenthesized_expression "(CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16))" ( (call_expression "CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)" identifier (argument_list "((ulong)(uint)(iVar7 * 4),(ulong)puVar16)" ( (call_expression "(ulong)(uint)(iVar7 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar7 * 4)" ( (binary_expression "iVar7 * 4" identifier * number_literal) ))) , (cast_expression "(ulong)puVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) )) (compound_statement "{\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }" { (expression_statement "uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Section index pool located before start of section\n",5)" identifier = (call_expression "dcgettext(0,"Section index pool located before start of section\n",5)" identifier (argument_list "(0,"Section index pool located before start of section\n",5)" ( number_literal , (string_literal ""Section index pool located before start of section\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14);" (call_expression "warn(uVar14)" identifier (argument_list "(uVar14)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) })) (if_statement "if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }" { (expression_statement "uVar14 = FUN_001106c0(local_88,local_80,local_78);" (assignment_expression "uVar14 = FUN_001106c0(local_88,local_80,local_78)" identifier = (call_expression "FUN_001106c0(local_88,local_80,local_78)" identifier (argument_list "(local_88,local_80,local_78)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" identifier (argument_list "(0,"  [%3d] Signature:  0x%s  Sections: ",5)" ( number_literal , (string_literal ""  [%3d] Signature:  0x%s  Sections: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar22,uVar14);" (call_expression "printf(pcVar8,(ulong)uVar22,uVar14)" identifier (argument_list "(pcVar8,(ulong)uVar22,uVar14)" ( identifier , (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) })) (if_statement "if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }" if (parenthesized_expression "(puVar11 < puVar2)" ( (binary_expression "puVar11 < puVar2" identifier < identifier) )) (compound_statement "{\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }" { (do_statement "do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );" do (compound_statement "{\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        }" { (expression_statement "puVar24 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar11 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }" if (parenthesized_expression "(puVar24 < puVar2)" ( (binary_expression "puVar24 < puVar2" identifier < identifier) )) (compound_statement "{\n            lVar17 = 4;\n          }" { (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" identifier = number_literal) ;) }) (else_clause "else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }" else (compound_statement "{\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }" { (expression_statement "lVar17 = (long)puVar2 - (long)puVar11;" (assignment_expression "lVar17 = (long)puVar2 - (long)puVar11" identifier = (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if (7 < (int)lVar17 - 1U) goto LAB_00121a48;" if (parenthesized_expression "(7 < (int)lVar17 - 1U)" ( (binary_expression "7 < (int)lVar17 - 1U" number_literal < (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) (goto_statement "goto LAB_00121a48;" goto statement_identifier ;)) }))) (expression_statement "uVar3 = (*DAT_00159e20)(puVar11,lVar17);" (assignment_expression "uVar3 = (*DAT_00159e20)(puVar11,lVar17)" identifier = (call_expression "(*DAT_00159e20)(puVar11,lVar17)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar11,lVar17)" ( identifier , identifier )))) ;) (if_statement "if (uVar3 == 0) goto LAB_00121a48;" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00121a48;" goto statement_identifier ;)) (if_statement "if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }" { (expression_statement "uVar13 = (ulong)DAT_00159b90;" (assignment_expression "uVar13 = (ulong)DAT_00159b90" identifier = (cast_expression "(ulong)DAT_00159b90" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }" if (parenthesized_expression "(DAT_00159b90 < DAT_00159b94)" ( (binary_expression "DAT_00159b90 < DAT_00159b94" identifier < identifier) )) (compound_statement "{\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }" { (expression_statement "DAT_00159b90 = DAT_00159b90 + 1;" (assignment_expression "DAT_00159b90 = DAT_00159b90 + 1" identifier = (binary_expression "DAT_00159b90 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;" (assignment_expression "*(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3" (pointer_expression "*(uint *)(DAT_00159b98 + uVar13 * 4)" * (cast_expression "(uint *)(DAT_00159b98 + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00159b98 + uVar13 * 4)" ( (binary_expression "DAT_00159b98 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) = identifier) ;) }) (else_clause "else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }" else (compound_statement "{\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }" { (expression_statement "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);" (call_expression "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" identifier (argument_list "(0,"Internal error: out of space in the shndx pool.\n",5)" ( number_literal , (string_literal ""Internal error: out of space in the shndx pool.\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) }))) }) (else_clause "else {\n            printf(" %d",(ulong)uVar3);\n          }" else (compound_statement "{\n            printf(" %d",(ulong)uVar3);\n          }" { (expression_statement "printf(" %d",(ulong)uVar3);" (call_expression "printf(" %d",(ulong)uVar3)" identifier (argument_list "(" %d",(ulong)uVar3)" ( (string_literal "" %d"" " string_content ") , (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }))) (expression_statement "puVar11 = puVar24;" (assignment_expression "puVar11 = puVar24" identifier = identifier) ;) (if_statement "if (puVar2 <= puVar24) break;" if (parenthesized_expression "(puVar2 <= puVar24)" ( (binary_expression "puVar2 <= puVar24" identifier <= identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pcVar8 = "Section %s too small for shndx pool\n";" (assignment_expression "pcVar8 = "Section %s too small for shndx pool\n"" identifier = (string_literal ""Section %s too small for shndx pool\n"" " string_content escape_sequence ")) ;) (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00121880;" goto statement_identifier ;) })) (labeled_statement "LAB_0012190b:\n    uVar22 = uVar22 + 1;" statement_identifier : (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;)) (expression_statement "puVar9 = (undefined8 *)((long)puVar9 + 4U);" (assignment_expression "puVar9 = (undefined8 *)((long)puVar9 + 4U)" identifier = (cast_expression "(undefined8 *)((long)puVar9 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 4U)" ( (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "local_e8 = local_e8 + 1;" (assignment_expression "local_e8 = local_e8 + 1" identifier = (binary_expression "local_e8 + 1" identifier + number_literal)) ;) (if_statement "if ((uint)local_120 <= uVar22) goto LAB_0012191c;" if (parenthesized_expression "((uint)local_120 <= uVar22)" ( (binary_expression "(uint)local_120 <= uVar22" (cast_expression "(uint)local_120" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) )) (goto_statement "goto LAB_0012191c;" goto statement_identifier ;)) (goto_statement "goto LAB_001218e6;" goto statement_identifier ;) })) (if_statement "if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }" if (parenthesized_expression "(uVar3 != 2)" ( (binary_expression "uVar3 != 2" identifier != number_literal) )) (compound_statement "{\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }" { (if_statement "if (param_2 == 0) {\n      return 1;\n    }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Unsupported version (%d)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Unsupported version (%d)\n",5)" identifier (argument_list "(0,"  Unsupported version (%d)\n",5)" ( number_literal , (string_literal ""  Unsupported version (%d)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar3);" (call_expression "printf(pcVar8,(ulong)uVar3)" identifier (argument_list "(pcVar8,(ulong)uVar3)" ( identifier , (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (goto_statement "goto LAB_00121928;" goto statement_identifier ;) })) (expression_statement "uVar3 = uVar22 * 4;" (assignment_expression "uVar3 = uVar22 * 4" identifier = (binary_expression "uVar22 * 4" identifier * number_literal)) ;) (expression_statement "uVar13 = (ulong)uVar3;" (assignment_expression "uVar13 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar19 = (long)puVar16 + uVar13;" (assignment_expression "uVar19 = (long)puVar16 + uVar13" identifier = (binary_expression "(long)puVar16 + uVar13" (cast_expression "(long)puVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier)) ;) (if_statement "if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }" if (parenthesized_expression "((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2)))" ( (binary_expression "(CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))" (parenthesized_expression "(CARRY8((ulong)puVar16,uVar13))" ( (call_expression "CARRY8((ulong)puVar16,uVar13)" identifier (argument_list "((ulong)puVar16,uVar13)" ( (cast_expression "(ulong)puVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) )) || (parenthesized_expression "(uVar22 != (uint)((long)uVar13 >> 2))" ( (binary_expression "uVar22 != (uint)((long)uVar13 >> 2)" identifier != (call_expression "(uint)((long)uVar13 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((long)uVar13 >> 2)" ( (binary_expression "(long)uVar13 >> 2" (cast_expression "(long)uVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal) )))) ))) )) (compound_statement "{\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }" { (expression_statement "uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5)" identifier = (call_expression "dcgettext(0,"Overlarge number of columns: %x\n",5)" identifier (argument_list "(0,"Overlarge number of columns: %x\n",5)" ( number_literal , (string_literal ""Overlarge number of columns: %x\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar22);" (call_expression "warn(uVar14,uVar22)" identifier (argument_list "(uVar14,uVar22)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pbVar20 = *(byte **)(param_1 + 0x10);" (assignment_expression "pbVar20 = *(byte **)(param_1 + 0x10)" identifier = (pointer_expression "*(byte **)(param_1 + 0x10)" * (cast_expression "(byte **)(param_1 + 0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "lVar17 = uVar19 + uVar3 * uVar23;" (assignment_expression "lVar17 = uVar19 + uVar3 * uVar23" identifier = (binary_expression "uVar19 + uVar3 * uVar23" identifier + (binary_expression "uVar3 * uVar23" identifier * identifier))) ;) (expression_statement "puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);" (assignment_expression "puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17)" identifier = (cast_expression "(undefined8 *)((ulong)(uVar3 * uVar23) + lVar17)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uVar3 * uVar23) + lVar17)" ( (binary_expression "(ulong)(uVar3 * uVar23) + lVar17" (call_expression "(ulong)(uVar3 * uVar23)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 * uVar23)" ( (binary_expression "uVar3 * uVar23" identifier * identifier) ))) + identifier) )))) ;) (expression_statement "bVar26 = puVar2 < puVar11;" (assignment_expression "bVar26 = puVar2 < puVar11" identifier = (binary_expression "puVar2 < puVar11" identifier < identifier)) ;) (expression_statement "bVar28 = puVar2 == puVar11;" (assignment_expression "bVar28 = puVar2 == puVar11" identifier = (binary_expression "puVar2 == puVar11" identifier == identifier)) ;) (if_statement "if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }" { (expression_statement "uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5)" identifier = (call_expression "dcgettext(0,"Section %s too small for offset and size tables\n",5)" identifier (argument_list "(0,"Section %s too small for offset and size tables\n",5)" ( number_literal , (string_literal ""Section %s too small for offset and size tables\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,pbVar20);" (call_expression "warn(uVar14,pbVar20)" identifier (argument_list "(uVar14,pbVar20)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "lVar15 = 0x10;" (assignment_expression "lVar15 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar21 = (byte *)".debug_tu_index";" (assignment_expression "pbVar21 = (byte *)".debug_tu_index"" identifier = (cast_expression "(byte *)".debug_tu_index"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_tu_index"" " string_content "))) ;) (do_statement "do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);" do (compound_statement "{\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  }" { (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" identifier = (binary_expression "lVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar20 < *pbVar21;" (assignment_expression "bVar26 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar28 = *pbVar20 == *pbVar21;" (assignment_expression "bVar28 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar29 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar29 * -2" identifier + (binary_expression "(ulong)bVar29 * -2" (cast_expression "(ulong)bVar29" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (ulong)bVar29 * -2 + 1" (binary_expression "pbVar21 + (ulong)bVar29 * -2" identifier + (binary_expression "(ulong)bVar29 * -2" (cast_expression "(ulong)bVar29" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "bVar28 = !bVar26 && !bVar28;" (assignment_expression "bVar28 = !bVar26 && !bVar28" identifier = (binary_expression "!bVar26 && !bVar28" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar28" ! identifier))) ;) (if_statement "if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }" { (if_statement "if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }" if (parenthesized_expression "(bVar28 == bVar26)" ( (binary_expression "bVar28 == bVar26" identifier == identifier) )) (compound_statement "{\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }" { (expression_statement "DAT_00159b78 = uVar23;" (assignment_expression "DAT_00159b78 = uVar23" identifier = identifier) ;) (expression_statement "DAT_00159b68 = FUN_001214b0(uVar23,0x88);" (assignment_expression "DAT_00159b68 = FUN_001214b0(uVar23,0x88)" identifier = (call_expression "FUN_001214b0(uVar23,0x88)" identifier (argument_list "(uVar23,0x88)" ( identifier , number_literal )))) ;) (expression_statement "local_b0 = DAT_00159b68;" (assignment_expression "local_b0 = DAT_00159b68" identifier = identifier) ;) }) (else_clause "else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }" else (compound_statement "{\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }" { (expression_statement "DAT_00159b7c = uVar23;" (assignment_expression "DAT_00159b7c = uVar23" identifier = identifier) ;) (expression_statement "DAT_00159b70 = FUN_001214b0(uVar23,0x88);" (assignment_expression "DAT_00159b70 = FUN_001214b0(uVar23,0x88)" identifier = (call_expression "FUN_001214b0(uVar23,0x88)" identifier (argument_list "(uVar23,0x88)" ( identifier , number_literal )))) ;) (expression_statement "local_b0 = DAT_00159b70;" (assignment_expression "local_b0 = DAT_00159b70" identifier = identifier) ;) }))) (if_statement "if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }" { (labeled_statement "LAB_00121c31:\n      uVar25 = 0;" statement_identifier : (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;)) (expression_statement "puVar11 = local_e8;" (assignment_expression "puVar11 = local_e8" identifier = identifier) ;) (expression_statement "puVar24 = puVar9;" (assignment_expression "puVar24 = puVar9" identifier = identifier) ;) (do_statement "do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);" do (compound_statement "{\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      }" { (expression_statement "puVar1 = puVar11 + 1;" (assignment_expression "puVar1 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (if_statement "if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }" if (parenthesized_expression "(puVar2 < puVar1)" ( (binary_expression "puVar2 < puVar1" identifier < identifier) )) (compound_statement "{\n          local_88 = 0;\n          local_80 = 0;\n        }" { (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }" else (compound_statement "{\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }" { (expression_statement "FUN_00137d20(puVar11,&local_88,&local_80);" (call_expression "FUN_00137d20(puVar11,&local_88,&local_80)" identifier (argument_list "(puVar11,&local_88,&local_80)" ( identifier , (pointer_expression "&local_88" & identifier) , (pointer_expression "&local_80" & identifier) ))) ;) }))) (if_statement "if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;" if (parenthesized_expression "((undefined8 *)((long)puVar24 + 4U) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar24 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar24 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 4U)" ( (binary_expression "(long)puVar24 + 4U" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);" statement_identifier : (expression_statement "uVar4 = (*DAT_00159e20)(puVar24,lVar15);" (assignment_expression "uVar4 = (*DAT_00159e20)(puVar24,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar24,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar24,lVar15)" ( identifier , identifier )))) ;)) (if_statement "if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }" { (if_statement "if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }" if (parenthesized_expression "(uVar23 < uVar4)" ( (binary_expression "uVar23 < uVar4" identifier < identifier) )) (compound_statement "{\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }" { (expression_statement "uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5)" identifier = (call_expression "dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5)" identifier (argument_list "(0,"Row index (%u) is larger than number of used entries (%u)\n",5)" ( number_literal , (string_literal ""Row index (%u) is larger than number of used entries (%u)\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar4,uVar23);" (call_expression "warn(uVar14,uVar4,uVar23)" identifier (argument_list "(uVar14,uVar4,uVar23)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }" { (if_statement "if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }" if (parenthesized_expression "(puVar2 <= puVar1)" ( (binary_expression "puVar2 <= puVar1" identifier <= identifier) )) (compound_statement "{\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }" { (expression_statement "uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5)" identifier = (call_expression "dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5)" identifier (argument_list "(0,"Signature (%p) extends beyond end of space in section\n",5)" ( number_literal , (string_literal ""Signature (%p) extends beyond end of space in section\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,puVar11);" (call_expression "warn(uVar14,puVar11)" identifier (argument_list "(uVar14,puVar11)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);" (assignment_expression "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3)" identifier = (call_expression "(ulong)((uVar4 + 0x3fffffff) * uVar3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar4 + 0x3fffffff) * uVar3)" ( (binary_expression "(uVar4 + 0x3fffffff) * uVar3" (parenthesized_expression "(uVar4 + 0x3fffffff)" ( (binary_expression "uVar4 + 0x3fffffff" identifier + number_literal) )) * identifier) )))) ;) (expression_statement "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);" (assignment_expression "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" identifier = (cast_expression "(undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b0 + (ulong)(uVar4 - 1) * 0x88)" ( (binary_expression "local_b0 + (ulong)(uVar4 - 1) * 0x88" identifier + (binary_expression "(ulong)(uVar4 - 1) * 0x88" (call_expression "(ulong)(uVar4 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 - 1)" ( (binary_expression "uVar4 - 1" identifier - number_literal) ))) * number_literal)) )))) ;) (expression_statement "*local_f0 = *puVar11;" (assignment_expression "*local_f0 = *puVar11" (pointer_expression "*local_f0" * identifier) = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "puVar11 = (undefined8 *)(uVar13 + uVar19);" (assignment_expression "puVar11 = (undefined8 *)(uVar13 + uVar19)" identifier = (cast_expression "(undefined8 *)(uVar13 + uVar19)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 + uVar19)" ( (binary_expression "uVar13 + uVar19" identifier + identifier) )))) ;) (if_statement "if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }" if (parenthesized_expression "((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11))" ( (binary_expression "(CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)" (parenthesized_expression "(CARRY8(uVar13,uVar19))" ( (call_expression "CARRY8(uVar13,uVar19)" identifier (argument_list "(uVar13,uVar19)" ( identifier , identifier ))) )) || (parenthesized_expression "(puVar2 < puVar11)" ( (binary_expression "puVar2 < puVar11" identifier < identifier) ))) )) (compound_statement "{\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }" { (labeled_statement "LAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);" statement_identifier : (expression_statement "uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);" (assignment_expression "uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5)" identifier = (call_expression "dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5)" identifier (argument_list "(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5)" ( number_literal , (string_literal ""Row index (%u) * num columns (%u) > space remaining in section\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "warn(uVar14,uVar4,uVar22);" (call_expression "warn(uVar14,uVar4,uVar22)" identifier (argument_list "(uVar14,uVar4,uVar22)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }" { (labeled_statement "LAB_00121d72:\n                uVar4 = 0;" statement_identifier : (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;)) (expression_statement "puVar18 = puVar16;" (assignment_expression "puVar18 = puVar16" identifier = identifier) ;) (do_statement "do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);" do (compound_statement "{\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                }" { (if_statement "if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }" if (parenthesized_expression "((undefined8 *)((long)puVar11 + 4) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar11 + 4) < puVar2" (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);" statement_identifier : (expression_statement "uVar13 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar13 = (*DAT_00159e20)(puVar11,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar11,lVar15)" ( identifier , identifier )))) ;)) (expression_statement "uVar13 = uVar13 & 0xffffffff;" (assignment_expression "uVar13 = uVar13 & 0xffffffff" identifier = (binary_expression "uVar13 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (param_2 == 0) goto LAB_00121dca;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00121dca;" goto statement_identifier ;)) (labeled_statement "LAB_00121e76:\n                    printf(" %8d",uVar13);" statement_identifier : (expression_statement "printf(" %8d",uVar13);" (call_expression "printf(" %8d",uVar13)" identifier (argument_list "(" %8d",uVar13)" ( (string_literal "" %8d"" " string_content ") , identifier ))) ;)) }) (else_clause "else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }" else (compound_statement "{\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;" if (parenthesized_expression "((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" ( (binary_expression "puVar11 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" identifier = (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00121e65;" goto statement_identifier ;)) (if_statement "if (param_2 != 0) goto LAB_00121e76;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00121e76;" goto statement_identifier ;)) (labeled_statement "LAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" statement_identifier : (if_statement "if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" if (parenthesized_expression "((undefined8 *)((long)puVar18 + 4U) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar18 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar18 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 4U)" ( (binary_expression "(long)puVar18 + 4U" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);" statement_identifier : (expression_statement "uVar5 = (*DAT_00159e20)(puVar18,lVar15);" (assignment_expression "uVar5 = (*DAT_00159e20)(puVar18,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar18,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar18,lVar15)" ( identifier , identifier )))) ;)) (expression_statement "uVar12 = (ulong)uVar5;" (assignment_expression "uVar12 = (ulong)uVar5" identifier = (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }" if (parenthesized_expression "(7 < uVar5)" ( (binary_expression "7 < uVar5" number_literal < identifier) )) (compound_statement "{\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }" { (expression_statement "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" identifier = (call_expression "dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" identifier (argument_list "(0,"Overlarge Dwarf section index detected: %u\n",5)" ( number_literal , (string_literal ""Overlarge Dwarf section index detected: %u\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar5);" (call_expression "warn(uVar14,uVar5)" identifier (argument_list "(uVar14,uVar5)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00121dfa;" goto statement_identifier ;) })) }) (else_clause "else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" else (compound_statement "{\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" { (if_statement "if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;" if (parenthesized_expression "((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar18 < puVar2)" ( (binary_expression "puVar18 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar18" identifier = (binary_expression "(long)puVar2 - (long)puVar18" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00121e95;" goto statement_identifier ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) })))) (expression_statement "local_f0[uVar12 + 1] = uVar13;" (assignment_expression "local_f0[uVar12 + 1] = uVar13" (subscript_expression "local_f0[uVar12 + 1]" identifier [ (binary_expression "uVar12 + 1" identifier + number_literal) ]) = identifier) ;) }))) (labeled_statement "LAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);" statement_identifier : (expression_statement "puVar18 = (undefined8 *)((long)puVar18 + 4);" (assignment_expression "puVar18 = (undefined8 *)((long)puVar18 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar18 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 4)" ( (binary_expression "(long)puVar18 + 4" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;)) (expression_statement "uVar4 = uVar4 + 1;" (assignment_expression "uVar4 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar11 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar11 = (undefined8 *)((long)puVar11 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar4 < uVar22)" ( (binary_expression "uVar4 < uVar22" identifier < identifier) )) ;) (if_statement "if (param_2 != 0) goto LAB_00121e1f;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00121e1f;" goto statement_identifier ;)) })) }) (else_clause "else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" else (compound_statement "{\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" { (expression_statement "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);" (assignment_expression "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3)" identifier = (call_expression "(ulong)((uVar4 + 0x3fffffff) * uVar3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar4 + 0x3fffffff) * uVar3)" ( (binary_expression "(uVar4 + 0x3fffffff) * uVar3" (parenthesized_expression "(uVar4 + 0x3fffffff)" ( (binary_expression "uVar4 + 0x3fffffff" identifier + number_literal) )) * identifier) )))) ;) (expression_statement "puVar11 = (undefined8 *)(uVar13 + uVar19);" (assignment_expression "puVar11 = (undefined8 *)(uVar13 + uVar19)" identifier = (cast_expression "(undefined8 *)(uVar13 + uVar19)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 + uVar19)" ( (binary_expression "uVar13 + uVar19" identifier + identifier) )))) ;) (if_statement "if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;" if (parenthesized_expression "((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11))" ( (binary_expression "(CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)" (parenthesized_expression "(CARRY8(uVar13,uVar19))" ( (call_expression "CARRY8(uVar13,uVar19)" identifier (argument_list "(uVar13,uVar19)" ( identifier , identifier ))) )) || (parenthesized_expression "(puVar2 < puVar11)" ( (binary_expression "puVar2 < puVar11" identifier < identifier) ))) )) (goto_statement "goto LAB_00122050;" goto statement_identifier ;)) (expression_statement "uVar14 = FUN_001106c0(local_88,local_80,local_78);" (assignment_expression "uVar14 = FUN_001106c0(local_88,local_80,local_78)" identifier = (call_expression "FUN_001106c0(local_88,local_80,local_78)" identifier (argument_list "(local_88,local_80,local_78)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  [%3d] 0x%s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  [%3d] 0x%s",5)" identifier (argument_list "(0,"  [%3d] 0x%s",5)" ( number_literal , (string_literal ""  [%3d] 0x%s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar25,uVar14);" (call_expression "printf(pcVar8,(ulong)uVar25,uVar14)" identifier (argument_list "(pcVar8,(ulong)uVar25,uVar14)" ( identifier , (cast_expression "(ulong)uVar25" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) (if_statement "if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }" { (expression_statement "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);" (assignment_expression "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" identifier = (cast_expression "(undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b0 + (ulong)(uVar4 - 1) * 0x88)" ( (binary_expression "local_b0 + (ulong)(uVar4 - 1) * 0x88" identifier + (binary_expression "(ulong)(uVar4 - 1) * 0x88" (call_expression "(ulong)(uVar4 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 - 1)" ( (binary_expression "uVar4 - 1" identifier - number_literal) ))) * number_literal)) )))) ;) (goto_statement "goto LAB_00121d72;" goto statement_identifier ;) })) (labeled_statement "LAB_00121e1f:\n              putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) }))) })) }) (else_clause "else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;" else (if_statement "if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;" if (parenthesized_expression "((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                )" ( (binary_expression "(puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar24 < puVar2)" ( (binary_expression "puVar24 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar24" identifier = (binary_expression "(long)puVar2 - (long)puVar24" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00121cdf;" goto statement_identifier ;)))) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) (expression_statement "puVar11 = puVar1;" (assignment_expression "puVar11 = puVar1" identifier = identifier) ;) (expression_statement "puVar24 = (undefined8 *)((long)puVar24 + 4U);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar24 + 4U)" identifier = (cast_expression "(undefined8 *)((long)puVar24 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 4U)" ( (binary_expression "(long)puVar24 + 4U" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar25 < (uint)local_120)" ( (binary_expression "uVar25 < (uint)local_120" identifier < (cast_expression "(uint)local_120" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) (if_statement "if (param_2 != 0) goto LAB_001224d4;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001224d4;" goto statement_identifier ;)) })) (if_statement "if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }" { (labeled_statement "LAB_001220c6:\n      uVar23 = 0;" statement_identifier : (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;)) (expression_statement "puVar11 = puVar16;" (assignment_expression "puVar11 = puVar16" identifier = identifier) ;) (do_statement "do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);" do (compound_statement "{\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      }" { (if_statement "if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }" if (parenthesized_expression "((undefined8 *)((long)puVar11 + 4) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar11 + 4) < puVar2" (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);" statement_identifier : (expression_statement "uVar6 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar6 = (*DAT_00159e20)(puVar11,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar11,lVar15)" ( identifier , identifier )))) ;)) }) (else_clause "else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }" else (compound_statement "{\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;" if (parenthesized_expression "((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" ( (binary_expression "puVar11 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" identifier = (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_0012210c;" goto statement_identifier ;)) }))) (if_statement "if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }" { (expression_statement "uVar14 = FUN_001100d0(uVar6);" (assignment_expression "uVar14 = FUN_001100d0(uVar6)" identifier = (call_expression "FUN_001100d0(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "printf(" %8s",uVar14);" (call_expression "printf(" %8s",uVar14)" identifier (argument_list "(" %8s",uVar14)" ( (string_literal "" %8s"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;) (expression_statement "puVar11 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar11 = (undefined8 *)((long)puVar11 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar23 < uVar22)" ( (binary_expression "uVar23 < uVar22" identifier < identifier) )) ;) (if_statement "if (param_2 != 0) goto LAB_0012253d;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012253d;" goto statement_identifier ;)) })) (if_statement "if (!bVar27) {\n      return 1;\n    }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }" else (compound_statement "{\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }" { (expression_statement "pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Offset table\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset table\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset table\n",5)" identifier (argument_list "(0,"  Offset table\n",5)" ( number_literal , (string_literal ""  Offset table\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8);" (call_expression "printf(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;) (if_statement "if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" if (parenthesized_expression "(bVar28 == bVar26)" ( (binary_expression "bVar28 == bVar26" identifier == identifier) )) (compound_statement "{\n      uVar14 = dcgettext(0,"signature",5);\n    }" { (expression_statement "uVar14 = dcgettext(0,"signature",5);" (assignment_expression "uVar14 = dcgettext(0,"signature",5)" identifier = (call_expression "dcgettext(0,"signature",5)" identifier (argument_list "(0,"signature",5)" ( number_literal , (string_literal ""signature"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" else (compound_statement "{\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" { (expression_statement "uVar14 = dcgettext(0,"dwo_id",5);" (assignment_expression "uVar14 = dcgettext(0,"dwo_id",5)" identifier = (call_expression "dcgettext(0,"dwo_id",5)" identifier (argument_list "(0,"dwo_id",5)" ( number_literal , (string_literal ""dwo_id"" " string_content ") , number_literal )))) ;) }))) (expression_statement "printf("  slot  %-16s  ",uVar14);" (call_expression "printf("  slot  %-16s  ",uVar14)" identifier (argument_list "("  slot  %-16s  ",uVar14)" ( (string_literal ""  slot  %-16s  "" " string_content ") , identifier ))) ;) (if_statement "if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }" { (expression_statement "puVar11 = puVar16;" (assignment_expression "puVar11 = puVar16" identifier = identifier) ;) (do_statement "do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);" do (compound_statement "{\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      }" { (expression_statement "puVar24 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar11 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }" if (parenthesized_expression "(puVar24 < puVar2)" ( (binary_expression "puVar24 < puVar2" identifier < identifier) )) (compound_statement "{\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);" statement_identifier : (expression_statement "uVar6 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar6 = (*DAT_00159e20)(puVar11,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar11,lVar15)" ( identifier , identifier )))) ;)) }) (else_clause "else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }" else (compound_statement "{\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;" if (parenthesized_expression "((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" ( (binary_expression "puVar11 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" identifier = (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001224a9;" goto statement_identifier ;)) }))) (expression_statement "uVar14 = FUN_001100d0(uVar6);" (assignment_expression "uVar14 = FUN_001100d0(uVar6)" identifier = (call_expression "FUN_001100d0(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "printf(" %8s",uVar14);" (call_expression "printf(" %8s",uVar14)" identifier (argument_list "(" %8s",uVar14)" ( (string_literal "" %8s"" " string_content ") , identifier ))) ;) (expression_statement "puVar11 = puVar24;" (assignment_expression "puVar11 = puVar24" identifier = identifier) ;) }) while (parenthesized_expression "((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24)" ( (binary_expression "(undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24" (cast_expression "(undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4)" ( (binary_expression "(long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4" (binary_expression "(long)puVar16 + (ulong)(uVar22 - 1) * 4" (cast_expression "(long)puVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)(uVar22 - 1) * 4" (call_expression "(ulong)(uVar22 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar22 - 1)" ( (binary_expression "uVar22 - 1" identifier - number_literal) ))) * number_literal)) + number_literal) ))) != identifier) )) ;) })) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (if_statement "if (bVar27) goto LAB_00121c31;" if (parenthesized_expression "(bVar27)" ( identifier )) (goto_statement "goto LAB_00121c31;" goto statement_identifier ;)) (labeled_statement "LAB_001224d4:\n    putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Size table\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Size table\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Size table\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Size table\n",5)" identifier (argument_list "(0,"  Size table\n",5)" ( number_literal , (string_literal ""  Size table\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8);" (call_expression "printf(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;) (if_statement "if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" if (parenthesized_expression "(bVar28 == bVar26)" ( (binary_expression "bVar28 == bVar26" identifier == identifier) )) (compound_statement "{\n      uVar14 = dcgettext(0,"signature",5);\n    }" { (expression_statement "uVar14 = dcgettext(0,"signature",5);" (assignment_expression "uVar14 = dcgettext(0,"signature",5)" identifier = (call_expression "dcgettext(0,"signature",5)" identifier (argument_list "(0,"signature",5)" ( number_literal , (string_literal ""signature"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" else (compound_statement "{\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" { (expression_statement "uVar14 = dcgettext(0,"dwo_id",5);" (assignment_expression "uVar14 = dcgettext(0,"dwo_id",5)" identifier = (call_expression "dcgettext(0,"dwo_id",5)" identifier (argument_list "(0,"dwo_id",5)" ( number_literal , (string_literal ""dwo_id"" " string_content ") , number_literal )))) ;) }))) (expression_statement "printf("  slot  %-16s  ",uVar14);" (call_expression "printf("  slot  %-16s  ",uVar14)" identifier (argument_list "("  slot  %-16s  ",uVar14)" ( (string_literal ""  slot  %-16s  "" " string_content ") , identifier ))) ;) (if_statement "if (uVar22 != 0) goto LAB_001220c6;" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001220c6;" goto statement_identifier ;)) (labeled_statement "LAB_0012253d:\n    putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (if_statement "if (!bVar27) goto LAB_00121928;" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (goto_statement "goto LAB_00121928;" goto statement_identifier ;)) }))) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);" do (compound_statement "{\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  }" { (if_statement "if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }" if (parenthesized_expression "(puVar2 < local_e8 + 1)" ( (binary_expression "puVar2 < local_e8 + 1" identifier < (binary_expression "local_e8 + 1" identifier + number_literal)) )) (compound_statement "{\n      local_88 = 0;\n      local_80 = 0;\n    }" { (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }" else (compound_statement "{\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }" { (expression_statement "FUN_00137d20(local_e8,&local_88,&local_80);" (call_expression "FUN_00137d20(local_e8,&local_88,&local_80)" identifier (argument_list "(local_e8,&local_88,&local_80)" ( identifier , (pointer_expression "&local_88" & identifier) , (pointer_expression "&local_80" & identifier) ))) ;) }))) (if_statement "if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;" if (parenthesized_expression "((undefined8 *)((long)puVar9 + 4U) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar9 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar9 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 4U)" ( (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);" statement_identifier : (expression_statement "iVar7 = (*DAT_00159e20)(puVar9,lVar15);" (assignment_expression "iVar7 = (*DAT_00159e20)(puVar9,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar9,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar9,lVar15)" ( identifier , identifier )))) ;)) (if_statement "if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }" { (if_statement "if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }" { (if_statement "if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }" { (labeled_statement "LAB_00122220:\n            uVar25 = 0;" statement_identifier : (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;)) (expression_statement "puVar11 = puVar16;" (assignment_expression "puVar11 = puVar16" identifier = identifier) ;) (expression_statement "puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));" (assignment_expression "puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3))" identifier = (cast_expression "(undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3))" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3))" ( (binary_expression "lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3)" identifier + (call_expression "(ulong)((iVar7 + 0x3fffffff) * uVar3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((iVar7 + 0x3fffffff) * uVar3)" ( (binary_expression "(iVar7 + 0x3fffffff) * uVar3" (parenthesized_expression "(iVar7 + 0x3fffffff)" ( (binary_expression "iVar7 + 0x3fffffff" identifier + number_literal) )) * identifier) )))) )))) ;) (do_statement "do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);" do (compound_statement "{\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            }" { (if_statement "if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }" if (parenthesized_expression "((undefined8 *)((long)puVar24 + 4) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar24 + 4) < puVar2" (cast_expression "(undefined8 *)((long)puVar24 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 4)" ( (binary_expression "(long)puVar24 + 4" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);" statement_identifier : (expression_statement "uVar13 = (*DAT_00159e20)(puVar24,lVar15);" (assignment_expression "uVar13 = (*DAT_00159e20)(puVar24,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar24,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar24,lVar15)" ( identifier , identifier )))) ;)) (expression_statement "uVar13 = uVar13 & 0xffffffff;" (assignment_expression "uVar13 = uVar13 & 0xffffffff" identifier = (binary_expression "uVar13 & 0xffffffff" identifier & number_literal)) ;) }) (else_clause "else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }" else (compound_statement "{\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;" if (parenthesized_expression "((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar24 < puVar2)" ( (binary_expression "puVar24 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar24" identifier = (binary_expression "(long)puVar2 - (long)puVar24" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001222f5;" goto statement_identifier ;)) }))) (if_statement "if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }" { (if_statement "if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }" if (parenthesized_expression "((undefined8 *)((long)puVar11 + 4U) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar11 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar11 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4U)" ( (binary_expression "(long)puVar11 + 4U" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);" statement_identifier : (expression_statement "uVar4 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar4 = (*DAT_00159e20)(puVar11,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar11,lVar15)" ( identifier , identifier )))) ;)) (expression_statement "uVar19 = (ulong)uVar4;" (assignment_expression "uVar19 = (ulong)uVar4" identifier = (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }" if (parenthesized_expression "(7 < uVar4)" ( (binary_expression "7 < uVar4" number_literal < identifier) )) (compound_statement "{\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }" { (expression_statement "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" identifier = (call_expression "dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" identifier (argument_list "(0,"Overlarge Dwarf section index detected: %u\n",5)" ( number_literal , (string_literal ""Overlarge Dwarf section index detected: %u\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar4);" (call_expression "warn(uVar14,uVar4)" identifier (argument_list "(uVar14,uVar4)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_001222b6;" goto statement_identifier ;) })) }) (else_clause "else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }" else (compound_statement "{\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }" { (if_statement "if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;" if (parenthesized_expression "((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" ( (binary_expression "puVar11 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" identifier = (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00122305;" goto statement_identifier ;)) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }))) (expression_statement "*(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;" (assignment_expression "*(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13" (pointer_expression "*(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8)" * (cast_expression "(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8)" ( (binary_expression "local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8" (binary_expression "local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48" (binary_expression "local_b0 + (ulong)(iVar7 - 1) * 0x88" identifier + (binary_expression "(ulong)(iVar7 - 1) * 0x88" (call_expression "(ulong)(iVar7 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar7 - 1)" ( (binary_expression "iVar7 - 1" identifier - number_literal) ))) * number_literal)) + number_literal) + (binary_expression "uVar19 * 8" identifier * number_literal)) )))) = identifier) ;) }) (else_clause "else {\n                printf(" %8d",uVar13);\n              }" else (compound_statement "{\n                printf(" %8d",uVar13);\n              }" { (expression_statement "printf(" %8d",uVar13);" (call_expression "printf(" %8d",uVar13)" identifier (argument_list "(" %8d",uVar13)" ( (string_literal "" %8d"" " string_content ") , identifier ))) ;) }))) (labeled_statement "LAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);" statement_identifier : (expression_statement "puVar11 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar11 = (undefined8 *)((long)puVar11 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;)) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) (expression_statement "puVar24 = (undefined8 *)((long)puVar24 + 4);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar24 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar24 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 4)" ( (binary_expression "(long)puVar24 + 4" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar25 < uVar22)" ( (binary_expression "uVar25 < uVar22" identifier < identifier) )) ;) (if_statement "if (param_2 != 0) goto LAB_001222dc;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001222dc;" goto statement_identifier ;)) })) }) (else_clause "else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" else (compound_statement "{\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" { (expression_statement "uVar14 = FUN_001106c0(local_88,local_80,local_78);" (assignment_expression "uVar14 = FUN_001106c0(local_88,local_80,local_78)" identifier = (call_expression "FUN_001106c0(local_88,local_80,local_78)" identifier (argument_list "(local_88,local_80,local_78)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  [%3d] 0x%s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  [%3d] 0x%s",5)" identifier (argument_list "(0,"  [%3d] 0x%s",5)" ( number_literal , (string_literal ""  [%3d] 0x%s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar23,uVar14);" (call_expression "printf(pcVar8,(ulong)uVar23,uVar14)" identifier (argument_list "(pcVar8,(ulong)uVar23,uVar14)" ( identifier , (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) (if_statement "if (uVar22 != 0) goto LAB_00122220;" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00122220;" goto statement_identifier ;)) (labeled_statement "LAB_001222dc:\n          putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) }))) })) }) (else_clause "else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;" else (if_statement "if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;" if (parenthesized_expression "((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar9 < puVar2)" ( (binary_expression "puVar9 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar9" identifier = (binary_expression "(long)puVar2 - (long)puVar9" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001221df;" goto statement_identifier ;)))) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;) (expression_statement "local_e8 = local_e8 + 1;" (assignment_expression "local_e8 = local_e8 + 1" identifier = (binary_expression "local_e8 + 1" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined8 *)((long)puVar9 + 4U);" (assignment_expression "puVar9 = (undefined8 *)((long)puVar9 + 4U)" identifier = (cast_expression "(undefined8 *)((long)puVar9 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 4U)" ( (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar23 < (uint)local_120)" ( (binary_expression "uVar23 < (uint)local_120" identifier < (cast_expression "(uint)local_120" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) (labeled_statement "LAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }" statement_identifier : (if_statement "if (param_2 == 0) {\n    return 1;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) }))) (labeled_statement "LAB_00121928:\n  putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (return_statement "return 1;" return number_literal ;) (labeled_statement "LAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }" statement_identifier : (if_statement "if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }" { (expression_statement "uVar13 = (ulong)DAT_00159b90;" (assignment_expression "uVar13 = (ulong)DAT_00159b90" identifier = (cast_expression "(ulong)DAT_00159b90" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }" if (parenthesized_expression "(DAT_00159b90 < DAT_00159b94)" ( (binary_expression "DAT_00159b90 < DAT_00159b94" identifier < identifier) )) (compound_statement "{\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }" { (expression_statement "DAT_00159b90 = DAT_00159b90 + 1;" (assignment_expression "DAT_00159b90 = DAT_00159b90 + 1" identifier = (binary_expression "DAT_00159b90 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;" (assignment_expression "*(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0" (pointer_expression "*(undefined4 *)(DAT_00159b98 + uVar13 * 4)" * (cast_expression "(undefined4 *)(DAT_00159b98 + uVar13 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00159b98 + uVar13 * 4)" ( (binary_expression "DAT_00159b98 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) = number_literal) ;) }) (else_clause "else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }" else (compound_statement "{\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }" { (expression_statement "uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" identifier = (call_expression "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" identifier (argument_list "(0,"Internal error: out of space in the shndx pool.\n",5)" ( number_literal , (string_literal ""Internal error: out of space in the shndx pool.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar14);" (call_expression "error(uVar14)" identifier (argument_list "(uVar14)" ( identifier ))) ;) }))) }) (else_clause "else {\n    putchar(10);\n  }" else (compound_statement "{\n    putchar(10);\n  }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) })))) (goto_statement "goto LAB_0012190b;" goto statement_identifier ;) })))
(translation_unit "int process_cu_tu_index(dwarf_section *section,int do_display)\n\n{\n  dwarf_section *pdVar1;\n  dwarf_section *pdVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  elf_vma eVar6;\n  char *pcVar7;\n  ulong uVar8;\n  long lVar9;\n  undefined8 uVar10;\n  char *pcVar11;\n  dwarf_section *pdVar12;\n  char **ppcVar13;\n  dwarf_section *pdVar14;\n  uchar *puVar15;\n  dwarf_vma dVar16;\n  long lVar17;\n  size_t sVar18;\n  dwarf_section *pdVar19;\n  dwarf_section *pdVar20;\n  dwarf_section *pdVar21;\n  dwarf_section *pdVar22;\n  int iVar23;\n  byte *pbVar24;\n  byte *pbVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  bool bVar29;\n  bool bVar30;\n  byte bVar31;\n  dwarf_section *local_128;\n  ulong local_120;\n  size_t local_100;\n  cu_tu_set *local_f0;\n  char **local_e8;\n  cu_tu_set *local_b0;\n  dwarf_vma signature_high;\n  dwarf_vma signature_low;\n  char buf [64];\n  \n  bVar31 = 0;\n  pdVar12 = (dwarf_section *)section->start;\n  uVar8 = section->size;\n  if (pdVar12 == (dwarf_section *)0x0) {\n    pcVar7 = section->name;\n    pcVar11 = "Section %s is empty\n";\nLAB_00121880:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);\n    warn(pcVar11,pcVar7);\n    return 0;\n  }\n  if (uVar8 < 0x18) {\n    pcVar7 = section->name;\n    pcVar11 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  pdVar1 = (dwarf_section *)((long)&pdVar12->uncompressed_name + uVar8);\n  pdVar20 = (dwarf_section *)((long)&pdVar12->uncompressed_name + 4);\n  ppcVar13 = &pdVar12->compressed_name;\n  iVar3 = (int)uVar8;\n  if (pdVar20 < pdVar1) {\n    iVar5 = 4;\nLAB_0012154d:\n    eVar6 = (*byte_get)((uchar *)pdVar12,iVar5);\n    uVar4 = (uint)eVar6;\n    if (uVar4 < 2) {\n      local_128 = (dwarf_section *)0x0;\n      goto LAB_00121690;\n    }\n    if (ppcVar13 < pdVar1) {\n      iVar5 = 4;\nLAB_0012183d:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      local_128 = (dwarf_section *)(eVar6 & 0xffffffff);\n      goto LAB_00121690;\n    }\n    if ((pdVar20 < pdVar1) && (iVar5 = iVar3 + -4, iVar3 - 5U < 8)) goto LAB_0012183d;\n    local_128 = (dwarf_section *)0x0;\n    if (pdVar1 <= (dwarf_section *)((long)&pdVar12->compressed_name + 4)) goto LAB_001215a0;\nLAB_00121780:\n    eVar6 = (*byte_get)((uchar *)ppcVar13,4);\n    local_100 = eVar6 & 0xffffffff;\n    if (&pdVar12->name < pdVar1) {\nLAB_001216e0:\n      iVar5 = 4;\n    }\n    else {\n      iVar5 = iVar3 + -0xc;\n      if (7 < iVar3 - 0xdU) {\nLAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n        pdVar20 = (dwarf_section *)&pdVar12->name;\n        local_120 = 0;\n        bVar29 = false;\n        pdVar2 = pdVar20;\n        goto joined_r0x001217d3;\n      }\n    }\n    ppcVar13 = &pdVar12->name;\n    uVar8 = (*byte_get)((uchar *)((long)&pdVar12->compressed_name + 4),iVar5);\n    iVar3 = (int)uVar8;\n    local_120 = uVar8 & 0xffffffff;\n    pdVar20 = (dwarf_section *)((long)ppcVar13 + (ulong)(uint)(iVar3 * 8));\n    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4));\n    if (((pdVar20 < ppcVar13) || (pdVar14 < pdVar12)) ||\n       ((bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29))))\n    {\n      pcVar7 = section->name;\n      pcVar11 = (char *)dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((pdVar12 < pdVar1) && (iVar5 = iVar3, iVar3 - 1U < 8)) goto LAB_0012154d;\n    uVar4 = 0;\n    local_128 = (dwarf_section *)0x0;\nLAB_00121690:\n    if ((dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1) goto LAB_00121780;\n    if ((ppcVar13 < pdVar1) && (iVar3 - 9U < 8)) {\n      eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8);\n      local_100 = eVar6 & 0xffffffff;\n      if (&pdVar12->name < pdVar1) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n    pdVar20 = (dwarf_section *)&pdVar12->name;\n    if (pdVar20 < pdVar1) {\n      local_100 = 0;\n      goto LAB_001216e0;\n    }\n    local_100 = 0;\n    local_120 = 0;\n    bVar29 = false;\n    pdVar2 = pdVar20;\n  }\njoined_r0x001217d3:\n  uVar8 = local_120;\n  if (do_display != 0) {\n    introduce((dwarf_section *)section->name,(int)section + 0x18,pdVar14);\n    pcVar7 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar7,(ulong)uVar4);\n    if (1 < uVar4) {\n      pcVar7 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar7,local_128);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar7,local_100);\n    pcVar7 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar7,uVar8);\n  }\n  local_e8 = &pdVar12->name;\n  local_120._0_4_ = (uint)uVar8;\n  if (pdVar1 < pdVar2) {\n    pcVar7 = section->name;\n    pcVar11 = (char *)dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(pcVar11,pcVar7,uVar8 & 0xffffffff);\n    return 0;\n  }\n  iVar3 = (int)pdVar1;\n  if (uVar4 == 1) {\n    if (do_display == 0) {\n      lVar17 = (long)pdVar1 - (long)pdVar2;\n      lVar9 = lVar17 + 3;\n      if (-1 < lVar17) {\n        lVar9 = lVar17;\n      }\n      shndx_pool_size = (uint)(lVar9 >> 2);\n      if (shndx_pool == (uint *)0x0) {\n        shndx_pool_used = 0;\n        shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);\n      }\n      else {\n        shndx_pool_size = shndx_pool_size + shndx_pool_used;\n        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);\n      }\n      if (!bVar29) {\n        return 1;\n      }\n    }\n    else if (!bVar29) goto LAB_00121928;\n    uVar4 = 0;\nLAB_001218e6:\n    pdVar12 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n    if (local_e8 + 1 <= pdVar1) {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n      if ((signature_high == 0) && (signature_low == 0)) goto LAB_0012190b;\n      iVar5 = 4;\n      if ((pdVar12 < pdVar1) ||\n         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))) {\n        eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n        uVar8 = (ulong)(uint)((int)eVar6 * 4);\n        pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);\n        if (CARRY8(uVar8,(ulong)pdVar2)) {\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }\n      }\n      if (do_display != 0) {\n        pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n        pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar11,(ulong)uVar4,pcVar7);\n      }\n      if (pdVar14 < pdVar1) {\n        do {\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        } while( true );\n      }\n      pcVar11 = "Section %s too small for shndx pool\n";\n      pcVar7 = section->name;\n      goto LAB_00121880;\n    }\n    signature_high = 0;\n    signature_low = 0;\nLAB_0012190b:\n    uVar4 = uVar4 + 1;\n    pdVar20 = pdVar12;\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar4) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar4 != 2) {\n    if (do_display == 0) {\n      return 1;\n    }\n    pcVar7 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar7,(ulong)uVar4);\n    goto LAB_00121928;\n  }\n  uVar4 = (uint)local_128 * 4;\n  uVar8 = (ulong)uVar4;\n  puVar15 = (uchar *)((long)&pdVar2->uncompressed_name + uVar8);\n  if ((CARRY8((ulong)pdVar2,uVar8)) || ((uint)local_128 != (uint)((long)uVar8 >> 2))) {\n    pcVar7 = (char *)dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(pcVar7,local_128);\n    return 0;\n  }\n  pbVar24 = (byte *)section->name;\n  bVar28 = pdVar1 < (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2);\n  bVar30 = pdVar1 == (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2);\n  if (bVar28) {\n    pcVar7 = (char *)dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(pcVar7,pbVar24);\n    return 0;\n  }\n  pdVar12 = (dwarf_section *)0x10;\n  pbVar25 = (byte *)".debug_tu_index";\n  do {\n    if (pdVar12 == (dwarf_section *)0x0) break;\n    pdVar12 = (dwarf_section *)((long)&pdVar12[-1].user_data + 7);\n    bVar28 = *pbVar24 < *pbVar25;\n    bVar30 = *pbVar24 == *pbVar25;\n    pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n    pbVar25 = pbVar25 + (ulong)bVar31 * -2 + 1;\n  } while (bVar30);\n  bVar30 = !bVar28 && !bVar30;\n  if (do_display == 0) {\n    if (bVar30 == bVar28) {\n      tu_count = (uint)local_100;\n      tu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = tu_sets;\n    }\n    else {\n      cu_count = (uint)local_100;\n      cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = cu_sets;\n    }\n    if (bVar29) {\nLAB_00121c31:\n      uVar26 = 0;\n      ppcVar13 = local_e8;\n      pdVar14 = pdVar20;\n      do {\n        pdVar12 = (dwarf_section *)(ppcVar13 + 1);\n        if (pdVar1 < pdVar12) {\n          signature_high = 0;\n          signature_low = 0;\n        }\n        else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;\n        uVar26 = uVar26 + 1;\n        ppcVar13 = (char **)pdVar12;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_120);\n      if (do_display != 0) goto LAB_001224d4;\n    }\n    if ((uint)local_128 != 0) {\nLAB_001220c6:\n      uVar26 = 0;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }\n        else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (do_display != 0) {\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }\n        uVar26 = uVar26 + 1;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_128);\n      if (do_display != 0) goto LAB_0012253d;\n    }\n    if (!bVar29) {\n      return 1;\n    }\n  }\n  else {\n    pcVar7 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) {\n      pdVar12 = pdVar2;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        pcVar7 = get_DW_SECT_short_name(uVar26);\n        printf(" %8s",pcVar7);\n        pdVar14 = pdVar22;\n      } while ((dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)\n      ;\n    }\n    putchar(10);\n    local_b0 = (cu_tu_set *)0x0;\n    if (bVar29) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar7 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar29) goto LAB_00121928;\n  }\n  uVar26 = 0;\n  do {\n    if (pdVar1 < local_e8 + 1) {\n      signature_high = 0;\n      signature_low = 0;\n    }\n    else {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n    }\n    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n    if (pdVar14 < pdVar1) {\n      iVar5 = 4;\nLAB_001221df:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      iVar5 = (int)eVar6;\n      if (iVar5 != 0) {\n        if (do_display == 0) {\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))\n    goto LAB_001221df;\n    uVar26 = uVar26 + 1;\n    local_e8 = local_e8 + 1;\n    pdVar20 = pdVar14;\n  } while (uVar26 < (uint)local_120);\nLAB_0012191c:\n  if (do_display == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (do_display == 0) {\n    uVar8 = (ulong)shndx_pool_used;\n    if (shndx_pool_used < shndx_pool_size) {\n      shndx_pool_used = shndx_pool_used + 1;\n      shndx_pool[uVar8] = 0;\n    }\n    else {\n      pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(pcVar7);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}\n\n" (function_definition "int process_cu_tu_index(dwarf_section *section,int do_display)\n\n{\n  dwarf_section *pdVar1;\n  dwarf_section *pdVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  elf_vma eVar6;\n  char *pcVar7;\n  ulong uVar8;\n  long lVar9;\n  undefined8 uVar10;\n  char *pcVar11;\n  dwarf_section *pdVar12;\n  char **ppcVar13;\n  dwarf_section *pdVar14;\n  uchar *puVar15;\n  dwarf_vma dVar16;\n  long lVar17;\n  size_t sVar18;\n  dwarf_section *pdVar19;\n  dwarf_section *pdVar20;\n  dwarf_section *pdVar21;\n  dwarf_section *pdVar22;\n  int iVar23;\n  byte *pbVar24;\n  byte *pbVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  bool bVar29;\n  bool bVar30;\n  byte bVar31;\n  dwarf_section *local_128;\n  ulong local_120;\n  size_t local_100;\n  cu_tu_set *local_f0;\n  char **local_e8;\n  cu_tu_set *local_b0;\n  dwarf_vma signature_high;\n  dwarf_vma signature_low;\n  char buf [64];\n  \n  bVar31 = 0;\n  pdVar12 = (dwarf_section *)section->start;\n  uVar8 = section->size;\n  if (pdVar12 == (dwarf_section *)0x0) {\n    pcVar7 = section->name;\n    pcVar11 = "Section %s is empty\n";\nLAB_00121880:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);\n    warn(pcVar11,pcVar7);\n    return 0;\n  }\n  if (uVar8 < 0x18) {\n    pcVar7 = section->name;\n    pcVar11 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  pdVar1 = (dwarf_section *)((long)&pdVar12->uncompressed_name + uVar8);\n  pdVar20 = (dwarf_section *)((long)&pdVar12->uncompressed_name + 4);\n  ppcVar13 = &pdVar12->compressed_name;\n  iVar3 = (int)uVar8;\n  if (pdVar20 < pdVar1) {\n    iVar5 = 4;\nLAB_0012154d:\n    eVar6 = (*byte_get)((uchar *)pdVar12,iVar5);\n    uVar4 = (uint)eVar6;\n    if (uVar4 < 2) {\n      local_128 = (dwarf_section *)0x0;\n      goto LAB_00121690;\n    }\n    if (ppcVar13 < pdVar1) {\n      iVar5 = 4;\nLAB_0012183d:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      local_128 = (dwarf_section *)(eVar6 & 0xffffffff);\n      goto LAB_00121690;\n    }\n    if ((pdVar20 < pdVar1) && (iVar5 = iVar3 + -4, iVar3 - 5U < 8)) goto LAB_0012183d;\n    local_128 = (dwarf_section *)0x0;\n    if (pdVar1 <= (dwarf_section *)((long)&pdVar12->compressed_name + 4)) goto LAB_001215a0;\nLAB_00121780:\n    eVar6 = (*byte_get)((uchar *)ppcVar13,4);\n    local_100 = eVar6 & 0xffffffff;\n    if (&pdVar12->name < pdVar1) {\nLAB_001216e0:\n      iVar5 = 4;\n    }\n    else {\n      iVar5 = iVar3 + -0xc;\n      if (7 < iVar3 - 0xdU) {\nLAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n        pdVar20 = (dwarf_section *)&pdVar12->name;\n        local_120 = 0;\n        bVar29 = false;\n        pdVar2 = pdVar20;\n        goto joined_r0x001217d3;\n      }\n    }\n    ppcVar13 = &pdVar12->name;\n    uVar8 = (*byte_get)((uchar *)((long)&pdVar12->compressed_name + 4),iVar5);\n    iVar3 = (int)uVar8;\n    local_120 = uVar8 & 0xffffffff;\n    pdVar20 = (dwarf_section *)((long)ppcVar13 + (ulong)(uint)(iVar3 * 8));\n    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4));\n    if (((pdVar20 < ppcVar13) || (pdVar14 < pdVar12)) ||\n       ((bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29))))\n    {\n      pcVar7 = section->name;\n      pcVar11 = (char *)dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((pdVar12 < pdVar1) && (iVar5 = iVar3, iVar3 - 1U < 8)) goto LAB_0012154d;\n    uVar4 = 0;\n    local_128 = (dwarf_section *)0x0;\nLAB_00121690:\n    if ((dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1) goto LAB_00121780;\n    if ((ppcVar13 < pdVar1) && (iVar3 - 9U < 8)) {\n      eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8);\n      local_100 = eVar6 & 0xffffffff;\n      if (&pdVar12->name < pdVar1) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n    pdVar20 = (dwarf_section *)&pdVar12->name;\n    if (pdVar20 < pdVar1) {\n      local_100 = 0;\n      goto LAB_001216e0;\n    }\n    local_100 = 0;\n    local_120 = 0;\n    bVar29 = false;\n    pdVar2 = pdVar20;\n  }\njoined_r0x001217d3:\n  uVar8 = local_120;\n  if (do_display != 0) {\n    introduce((dwarf_section *)section->name,(int)section + 0x18,pdVar14);\n    pcVar7 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar7,(ulong)uVar4);\n    if (1 < uVar4) {\n      pcVar7 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar7,local_128);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar7,local_100);\n    pcVar7 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar7,uVar8);\n  }\n  local_e8 = &pdVar12->name;\n  local_120._0_4_ = (uint)uVar8;\n  if (pdVar1 < pdVar2) {\n    pcVar7 = section->name;\n    pcVar11 = (char *)dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(pcVar11,pcVar7,uVar8 & 0xffffffff);\n    return 0;\n  }\n  iVar3 = (int)pdVar1;\n  if (uVar4 == 1) {\n    if (do_display == 0) {\n      lVar17 = (long)pdVar1 - (long)pdVar2;\n      lVar9 = lVar17 + 3;\n      if (-1 < lVar17) {\n        lVar9 = lVar17;\n      }\n      shndx_pool_size = (uint)(lVar9 >> 2);\n      if (shndx_pool == (uint *)0x0) {\n        shndx_pool_used = 0;\n        shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);\n      }\n      else {\n        shndx_pool_size = shndx_pool_size + shndx_pool_used;\n        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);\n      }\n      if (!bVar29) {\n        return 1;\n      }\n    }\n    else if (!bVar29) goto LAB_00121928;\n    uVar4 = 0;\nLAB_001218e6:\n    pdVar12 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n    if (local_e8 + 1 <= pdVar1) {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n      if ((signature_high == 0) && (signature_low == 0)) goto LAB_0012190b;\n      iVar5 = 4;\n      if ((pdVar12 < pdVar1) ||\n         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))) {\n        eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n        uVar8 = (ulong)(uint)((int)eVar6 * 4);\n        pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);\n        if (CARRY8(uVar8,(ulong)pdVar2)) {\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }\n      }\n      if (do_display != 0) {\n        pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n        pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar11,(ulong)uVar4,pcVar7);\n      }\n      if (pdVar14 < pdVar1) {\n        do {\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        } while( true );\n      }\n      pcVar11 = "Section %s too small for shndx pool\n";\n      pcVar7 = section->name;\n      goto LAB_00121880;\n    }\n    signature_high = 0;\n    signature_low = 0;\nLAB_0012190b:\n    uVar4 = uVar4 + 1;\n    pdVar20 = pdVar12;\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar4) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar4 != 2) {\n    if (do_display == 0) {\n      return 1;\n    }\n    pcVar7 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar7,(ulong)uVar4);\n    goto LAB_00121928;\n  }\n  uVar4 = (uint)local_128 * 4;\n  uVar8 = (ulong)uVar4;\n  puVar15 = (uchar *)((long)&pdVar2->uncompressed_name + uVar8);\n  if ((CARRY8((ulong)pdVar2,uVar8)) || ((uint)local_128 != (uint)((long)uVar8 >> 2))) {\n    pcVar7 = (char *)dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(pcVar7,local_128);\n    return 0;\n  }\n  pbVar24 = (byte *)section->name;\n  bVar28 = pdVar1 < (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2);\n  bVar30 = pdVar1 == (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2);\n  if (bVar28) {\n    pcVar7 = (char *)dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(pcVar7,pbVar24);\n    return 0;\n  }\n  pdVar12 = (dwarf_section *)0x10;\n  pbVar25 = (byte *)".debug_tu_index";\n  do {\n    if (pdVar12 == (dwarf_section *)0x0) break;\n    pdVar12 = (dwarf_section *)((long)&pdVar12[-1].user_data + 7);\n    bVar28 = *pbVar24 < *pbVar25;\n    bVar30 = *pbVar24 == *pbVar25;\n    pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n    pbVar25 = pbVar25 + (ulong)bVar31 * -2 + 1;\n  } while (bVar30);\n  bVar30 = !bVar28 && !bVar30;\n  if (do_display == 0) {\n    if (bVar30 == bVar28) {\n      tu_count = (uint)local_100;\n      tu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = tu_sets;\n    }\n    else {\n      cu_count = (uint)local_100;\n      cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = cu_sets;\n    }\n    if (bVar29) {\nLAB_00121c31:\n      uVar26 = 0;\n      ppcVar13 = local_e8;\n      pdVar14 = pdVar20;\n      do {\n        pdVar12 = (dwarf_section *)(ppcVar13 + 1);\n        if (pdVar1 < pdVar12) {\n          signature_high = 0;\n          signature_low = 0;\n        }\n        else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;\n        uVar26 = uVar26 + 1;\n        ppcVar13 = (char **)pdVar12;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_120);\n      if (do_display != 0) goto LAB_001224d4;\n    }\n    if ((uint)local_128 != 0) {\nLAB_001220c6:\n      uVar26 = 0;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }\n        else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (do_display != 0) {\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }\n        uVar26 = uVar26 + 1;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_128);\n      if (do_display != 0) goto LAB_0012253d;\n    }\n    if (!bVar29) {\n      return 1;\n    }\n  }\n  else {\n    pcVar7 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) {\n      pdVar12 = pdVar2;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        pcVar7 = get_DW_SECT_short_name(uVar26);\n        printf(" %8s",pcVar7);\n        pdVar14 = pdVar22;\n      } while ((dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)\n      ;\n    }\n    putchar(10);\n    local_b0 = (cu_tu_set *)0x0;\n    if (bVar29) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar7 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar29) goto LAB_00121928;\n  }\n  uVar26 = 0;\n  do {\n    if (pdVar1 < local_e8 + 1) {\n      signature_high = 0;\n      signature_low = 0;\n    }\n    else {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n    }\n    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n    if (pdVar14 < pdVar1) {\n      iVar5 = 4;\nLAB_001221df:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      iVar5 = (int)eVar6;\n      if (iVar5 != 0) {\n        if (do_display == 0) {\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))\n    goto LAB_001221df;\n    uVar26 = uVar26 + 1;\n    local_e8 = local_e8 + 1;\n    pdVar20 = pdVar14;\n  } while (uVar26 < (uint)local_120);\nLAB_0012191c:\n  if (do_display == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (do_display == 0) {\n    uVar8 = (ulong)shndx_pool_used;\n    if (shndx_pool_used < shndx_pool_size) {\n      shndx_pool_used = shndx_pool_used + 1;\n      shndx_pool[uVar8] = 0;\n    }\n    else {\n      pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(pcVar7);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}" primitive_type (function_declarator "process_cu_tu_index(dwarf_section *section,int do_display)" identifier (parameter_list "(dwarf_section *section,int do_display)" ( (parameter_declaration "dwarf_section *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "int do_display" primitive_type identifier) ))) (compound_statement "{\n  dwarf_section *pdVar1;\n  dwarf_section *pdVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  elf_vma eVar6;\n  char *pcVar7;\n  ulong uVar8;\n  long lVar9;\n  undefined8 uVar10;\n  char *pcVar11;\n  dwarf_section *pdVar12;\n  char **ppcVar13;\n  dwarf_section *pdVar14;\n  uchar *puVar15;\n  dwarf_vma dVar16;\n  long lVar17;\n  size_t sVar18;\n  dwarf_section *pdVar19;\n  dwarf_section *pdVar20;\n  dwarf_section *pdVar21;\n  dwarf_section *pdVar22;\n  int iVar23;\n  byte *pbVar24;\n  byte *pbVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  bool bVar29;\n  bool bVar30;\n  byte bVar31;\n  dwarf_section *local_128;\n  ulong local_120;\n  size_t local_100;\n  cu_tu_set *local_f0;\n  char **local_e8;\n  cu_tu_set *local_b0;\n  dwarf_vma signature_high;\n  dwarf_vma signature_low;\n  char buf [64];\n  \n  bVar31 = 0;\n  pdVar12 = (dwarf_section *)section->start;\n  uVar8 = section->size;\n  if (pdVar12 == (dwarf_section *)0x0) {\n    pcVar7 = section->name;\n    pcVar11 = "Section %s is empty\n";\nLAB_00121880:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);\n    warn(pcVar11,pcVar7);\n    return 0;\n  }\n  if (uVar8 < 0x18) {\n    pcVar7 = section->name;\n    pcVar11 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  pdVar1 = (dwarf_section *)((long)&pdVar12->uncompressed_name + uVar8);\n  pdVar20 = (dwarf_section *)((long)&pdVar12->uncompressed_name + 4);\n  ppcVar13 = &pdVar12->compressed_name;\n  iVar3 = (int)uVar8;\n  if (pdVar20 < pdVar1) {\n    iVar5 = 4;\nLAB_0012154d:\n    eVar6 = (*byte_get)((uchar *)pdVar12,iVar5);\n    uVar4 = (uint)eVar6;\n    if (uVar4 < 2) {\n      local_128 = (dwarf_section *)0x0;\n      goto LAB_00121690;\n    }\n    if (ppcVar13 < pdVar1) {\n      iVar5 = 4;\nLAB_0012183d:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      local_128 = (dwarf_section *)(eVar6 & 0xffffffff);\n      goto LAB_00121690;\n    }\n    if ((pdVar20 < pdVar1) && (iVar5 = iVar3 + -4, iVar3 - 5U < 8)) goto LAB_0012183d;\n    local_128 = (dwarf_section *)0x0;\n    if (pdVar1 <= (dwarf_section *)((long)&pdVar12->compressed_name + 4)) goto LAB_001215a0;\nLAB_00121780:\n    eVar6 = (*byte_get)((uchar *)ppcVar13,4);\n    local_100 = eVar6 & 0xffffffff;\n    if (&pdVar12->name < pdVar1) {\nLAB_001216e0:\n      iVar5 = 4;\n    }\n    else {\n      iVar5 = iVar3 + -0xc;\n      if (7 < iVar3 - 0xdU) {\nLAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n        pdVar20 = (dwarf_section *)&pdVar12->name;\n        local_120 = 0;\n        bVar29 = false;\n        pdVar2 = pdVar20;\n        goto joined_r0x001217d3;\n      }\n    }\n    ppcVar13 = &pdVar12->name;\n    uVar8 = (*byte_get)((uchar *)((long)&pdVar12->compressed_name + 4),iVar5);\n    iVar3 = (int)uVar8;\n    local_120 = uVar8 & 0xffffffff;\n    pdVar20 = (dwarf_section *)((long)ppcVar13 + (ulong)(uint)(iVar3 * 8));\n    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4));\n    if (((pdVar20 < ppcVar13) || (pdVar14 < pdVar12)) ||\n       ((bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29))))\n    {\n      pcVar7 = section->name;\n      pcVar11 = (char *)dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((pdVar12 < pdVar1) && (iVar5 = iVar3, iVar3 - 1U < 8)) goto LAB_0012154d;\n    uVar4 = 0;\n    local_128 = (dwarf_section *)0x0;\nLAB_00121690:\n    if ((dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1) goto LAB_00121780;\n    if ((ppcVar13 < pdVar1) && (iVar3 - 9U < 8)) {\n      eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8);\n      local_100 = eVar6 & 0xffffffff;\n      if (&pdVar12->name < pdVar1) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n    pdVar20 = (dwarf_section *)&pdVar12->name;\n    if (pdVar20 < pdVar1) {\n      local_100 = 0;\n      goto LAB_001216e0;\n    }\n    local_100 = 0;\n    local_120 = 0;\n    bVar29 = false;\n    pdVar2 = pdVar20;\n  }\njoined_r0x001217d3:\n  uVar8 = local_120;\n  if (do_display != 0) {\n    introduce((dwarf_section *)section->name,(int)section + 0x18,pdVar14);\n    pcVar7 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar7,(ulong)uVar4);\n    if (1 < uVar4) {\n      pcVar7 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar7,local_128);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar7,local_100);\n    pcVar7 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar7,uVar8);\n  }\n  local_e8 = &pdVar12->name;\n  local_120._0_4_ = (uint)uVar8;\n  if (pdVar1 < pdVar2) {\n    pcVar7 = section->name;\n    pcVar11 = (char *)dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(pcVar11,pcVar7,uVar8 & 0xffffffff);\n    return 0;\n  }\n  iVar3 = (int)pdVar1;\n  if (uVar4 == 1) {\n    if (do_display == 0) {\n      lVar17 = (long)pdVar1 - (long)pdVar2;\n      lVar9 = lVar17 + 3;\n      if (-1 < lVar17) {\n        lVar9 = lVar17;\n      }\n      shndx_pool_size = (uint)(lVar9 >> 2);\n      if (shndx_pool == (uint *)0x0) {\n        shndx_pool_used = 0;\n        shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);\n      }\n      else {\n        shndx_pool_size = shndx_pool_size + shndx_pool_used;\n        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);\n      }\n      if (!bVar29) {\n        return 1;\n      }\n    }\n    else if (!bVar29) goto LAB_00121928;\n    uVar4 = 0;\nLAB_001218e6:\n    pdVar12 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n    if (local_e8 + 1 <= pdVar1) {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n      if ((signature_high == 0) && (signature_low == 0)) goto LAB_0012190b;\n      iVar5 = 4;\n      if ((pdVar12 < pdVar1) ||\n         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))) {\n        eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n        uVar8 = (ulong)(uint)((int)eVar6 * 4);\n        pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);\n        if (CARRY8(uVar8,(ulong)pdVar2)) {\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }\n      }\n      if (do_display != 0) {\n        pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n        pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar11,(ulong)uVar4,pcVar7);\n      }\n      if (pdVar14 < pdVar1) {\n        do {\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        } while( true );\n      }\n      pcVar11 = "Section %s too small for shndx pool\n";\n      pcVar7 = section->name;\n      goto LAB_00121880;\n    }\n    signature_high = 0;\n    signature_low = 0;\nLAB_0012190b:\n    uVar4 = uVar4 + 1;\n    pdVar20 = pdVar12;\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar4) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar4 != 2) {\n    if (do_display == 0) {\n      return 1;\n    }\n    pcVar7 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar7,(ulong)uVar4);\n    goto LAB_00121928;\n  }\n  uVar4 = (uint)local_128 * 4;\n  uVar8 = (ulong)uVar4;\n  puVar15 = (uchar *)((long)&pdVar2->uncompressed_name + uVar8);\n  if ((CARRY8((ulong)pdVar2,uVar8)) || ((uint)local_128 != (uint)((long)uVar8 >> 2))) {\n    pcVar7 = (char *)dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(pcVar7,local_128);\n    return 0;\n  }\n  pbVar24 = (byte *)section->name;\n  bVar28 = pdVar1 < (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2);\n  bVar30 = pdVar1 == (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2);\n  if (bVar28) {\n    pcVar7 = (char *)dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(pcVar7,pbVar24);\n    return 0;\n  }\n  pdVar12 = (dwarf_section *)0x10;\n  pbVar25 = (byte *)".debug_tu_index";\n  do {\n    if (pdVar12 == (dwarf_section *)0x0) break;\n    pdVar12 = (dwarf_section *)((long)&pdVar12[-1].user_data + 7);\n    bVar28 = *pbVar24 < *pbVar25;\n    bVar30 = *pbVar24 == *pbVar25;\n    pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n    pbVar25 = pbVar25 + (ulong)bVar31 * -2 + 1;\n  } while (bVar30);\n  bVar30 = !bVar28 && !bVar30;\n  if (do_display == 0) {\n    if (bVar30 == bVar28) {\n      tu_count = (uint)local_100;\n      tu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = tu_sets;\n    }\n    else {\n      cu_count = (uint)local_100;\n      cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = cu_sets;\n    }\n    if (bVar29) {\nLAB_00121c31:\n      uVar26 = 0;\n      ppcVar13 = local_e8;\n      pdVar14 = pdVar20;\n      do {\n        pdVar12 = (dwarf_section *)(ppcVar13 + 1);\n        if (pdVar1 < pdVar12) {\n          signature_high = 0;\n          signature_low = 0;\n        }\n        else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;\n        uVar26 = uVar26 + 1;\n        ppcVar13 = (char **)pdVar12;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_120);\n      if (do_display != 0) goto LAB_001224d4;\n    }\n    if ((uint)local_128 != 0) {\nLAB_001220c6:\n      uVar26 = 0;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }\n        else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (do_display != 0) {\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }\n        uVar26 = uVar26 + 1;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_128);\n      if (do_display != 0) goto LAB_0012253d;\n    }\n    if (!bVar29) {\n      return 1;\n    }\n  }\n  else {\n    pcVar7 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) {\n      pdVar12 = pdVar2;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        pcVar7 = get_DW_SECT_short_name(uVar26);\n        printf(" %8s",pcVar7);\n        pdVar14 = pdVar22;\n      } while ((dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)\n      ;\n    }\n    putchar(10);\n    local_b0 = (cu_tu_set *)0x0;\n    if (bVar29) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar7 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar29) goto LAB_00121928;\n  }\n  uVar26 = 0;\n  do {\n    if (pdVar1 < local_e8 + 1) {\n      signature_high = 0;\n      signature_low = 0;\n    }\n    else {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n    }\n    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n    if (pdVar14 < pdVar1) {\n      iVar5 = 4;\nLAB_001221df:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      iVar5 = (int)eVar6;\n      if (iVar5 != 0) {\n        if (do_display == 0) {\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))\n    goto LAB_001221df;\n    uVar26 = uVar26 + 1;\n    local_e8 = local_e8 + 1;\n    pdVar20 = pdVar14;\n  } while (uVar26 < (uint)local_120);\nLAB_0012191c:\n  if (do_display == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (do_display == 0) {\n    uVar8 = (ulong)shndx_pool_used;\n    if (shndx_pool_used < shndx_pool_size) {\n      shndx_pool_used = shndx_pool_used + 1;\n      shndx_pool[uVar8] = 0;\n    }\n    else {\n      pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(pcVar7);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}" { (declaration "dwarf_section *pdVar1;" type_identifier (pointer_declarator "*pdVar1" * identifier) ;) (declaration "dwarf_section *pdVar2;" type_identifier (pointer_declarator "*pdVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "elf_vma eVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "dwarf_section *pdVar12;" type_identifier (pointer_declarator "*pdVar12" * identifier) ;) (declaration "char **ppcVar13;" primitive_type (pointer_declarator "**ppcVar13" * (pointer_declarator "*ppcVar13" * identifier)) ;) (declaration "dwarf_section *pdVar14;" type_identifier (pointer_declarator "*pdVar14" * identifier) ;) (declaration "uchar *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "dwarf_vma dVar16;" type_identifier identifier ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t sVar18;" primitive_type identifier ;) (declaration "dwarf_section *pdVar19;" type_identifier (pointer_declarator "*pdVar19" * identifier) ;) (declaration "dwarf_section *pdVar20;" type_identifier (pointer_declarator "*pdVar20" * identifier) ;) (declaration "dwarf_section *pdVar21;" type_identifier (pointer_declarator "*pdVar21" * identifier) ;) (declaration "dwarf_section *pdVar22;" type_identifier (pointer_declarator "*pdVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "byte *pbVar25;" type_identifier (pointer_declarator "*pbVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "byte bVar31;" type_identifier identifier ;) (declaration "dwarf_section *local_128;" type_identifier (pointer_declarator "*local_128" * identifier) ;) (declaration "ulong local_120;" type_identifier identifier ;) (declaration "size_t local_100;" primitive_type identifier ;) (declaration "cu_tu_set *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "char **local_e8;" primitive_type (pointer_declarator "**local_e8" * (pointer_declarator "*local_e8" * identifier)) ;) (declaration "cu_tu_set *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "dwarf_vma signature_high;" type_identifier identifier ;) (declaration "dwarf_vma signature_low;" type_identifier identifier ;) (declaration "char buf [64];" primitive_type (array_declarator "buf [64]" identifier [ number_literal ]) ;) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" identifier = number_literal) ;) (expression_statement "pdVar12 = (dwarf_section *)section->start;" (assignment_expression "pdVar12 = (dwarf_section *)section->start" identifier = (cast_expression "(dwarf_section *)section->start" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section->start" identifier -> field_identifier))) ;) (expression_statement "uVar8 = section->size;" (assignment_expression "uVar8 = section->size" identifier = (field_expression "section->size" identifier -> field_identifier)) ;) (if_statement "if (pdVar12 == (dwarf_section *)0x0) {\n    pcVar7 = section->name;\n    pcVar11 = "Section %s is empty\n";\nLAB_00121880:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);\n    warn(pcVar11,pcVar7);\n    return 0;\n  }" if (parenthesized_expression "(pdVar12 == (dwarf_section *)0x0)" ( (binary_expression "pdVar12 == (dwarf_section *)0x0" identifier == (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar7 = section->name;\n    pcVar11 = "Section %s is empty\n";\nLAB_00121880:\n    pcVar11 = (char *)dcgettext(0,pcVar11,5);\n    warn(pcVar11,pcVar7);\n    return 0;\n  }" { (expression_statement "pcVar7 = section->name;" (assignment_expression "pcVar7 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar11 = "Section %s is empty\n";" (assignment_expression "pcVar11 = "Section %s is empty\n"" identifier = (string_literal ""Section %s is empty\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00121880:\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,pcVar7);" (call_expression "warn(pcVar11,pcVar7)" identifier (argument_list "(pcVar11,pcVar7)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (uVar8 < 0x18) {\n    pcVar7 = section->name;\n    pcVar11 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }" if (parenthesized_expression "(uVar8 < 0x18)" ( (binary_expression "uVar8 < 0x18" identifier < number_literal) )) (compound_statement "{\n    pcVar7 = section->name;\n    pcVar11 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }" { (expression_statement "pcVar7 = section->name;" (assignment_expression "pcVar7 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar11 = "Section %s is too small to contain a CU/TU header\n";" (assignment_expression "pcVar11 = "Section %s is too small to contain a CU/TU header\n"" identifier = (string_literal ""Section %s is too small to contain a CU/TU header\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00121880;" goto statement_identifier ;) })) (expression_statement "pdVar1 = (dwarf_section *)((long)&pdVar12->uncompressed_name + uVar8);" (assignment_expression "pdVar1 = (dwarf_section *)((long)&pdVar12->uncompressed_name + uVar8)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar12->uncompressed_name + uVar8)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar12->uncompressed_name + uVar8)" ( (binary_expression "(long)&pdVar12->uncompressed_name + uVar8" (cast_expression "(long)&pdVar12->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar12->uncompressed_name" & (field_expression "pdVar12->uncompressed_name" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "pdVar20 = (dwarf_section *)((long)&pdVar12->uncompressed_name + 4);" (assignment_expression "pdVar20 = (dwarf_section *)((long)&pdVar12->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar12->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar12->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar12->uncompressed_name + 4" (cast_expression "(long)&pdVar12->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar12->uncompressed_name" & (field_expression "pdVar12->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "ppcVar13 = &pdVar12->compressed_name;" (assignment_expression "ppcVar13 = &pdVar12->compressed_name" identifier = (pointer_expression "&pdVar12->compressed_name" & (field_expression "pdVar12->compressed_name" identifier -> field_identifier))) ;) (expression_statement "iVar3 = (int)uVar8;" (assignment_expression "iVar3 = (int)uVar8" identifier = (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pdVar20 < pdVar1) {\n    iVar5 = 4;\nLAB_0012154d:\n    eVar6 = (*byte_get)((uchar *)pdVar12,iVar5);\n    uVar4 = (uint)eVar6;\n    if (uVar4 < 2) {\n      local_128 = (dwarf_section *)0x0;\n      goto LAB_00121690;\n    }\n    if (ppcVar13 < pdVar1) {\n      iVar5 = 4;\nLAB_0012183d:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      local_128 = (dwarf_section *)(eVar6 & 0xffffffff);\n      goto LAB_00121690;\n    }\n    if ((pdVar20 < pdVar1) && (iVar5 = iVar3 + -4, iVar3 - 5U < 8)) goto LAB_0012183d;\n    local_128 = (dwarf_section *)0x0;\n    if (pdVar1 <= (dwarf_section *)((long)&pdVar12->compressed_name + 4)) goto LAB_001215a0;\nLAB_00121780:\n    eVar6 = (*byte_get)((uchar *)ppcVar13,4);\n    local_100 = eVar6 & 0xffffffff;\n    if (&pdVar12->name < pdVar1) {\nLAB_001216e0:\n      iVar5 = 4;\n    }\n    else {\n      iVar5 = iVar3 + -0xc;\n      if (7 < iVar3 - 0xdU) {\nLAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n        pdVar20 = (dwarf_section *)&pdVar12->name;\n        local_120 = 0;\n        bVar29 = false;\n        pdVar2 = pdVar20;\n        goto joined_r0x001217d3;\n      }\n    }\n    ppcVar13 = &pdVar12->name;\n    uVar8 = (*byte_get)((uchar *)((long)&pdVar12->compressed_name + 4),iVar5);\n    iVar3 = (int)uVar8;\n    local_120 = uVar8 & 0xffffffff;\n    pdVar20 = (dwarf_section *)((long)ppcVar13 + (ulong)(uint)(iVar3 * 8));\n    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4));\n    if (((pdVar20 < ppcVar13) || (pdVar14 < pdVar12)) ||\n       ((bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29))))\n    {\n      pcVar7 = section->name;\n      pcVar11 = (char *)dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((pdVar12 < pdVar1) && (iVar5 = iVar3, iVar3 - 1U < 8)) goto LAB_0012154d;\n    uVar4 = 0;\n    local_128 = (dwarf_section *)0x0;\nLAB_00121690:\n    if ((dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1) goto LAB_00121780;\n    if ((ppcVar13 < pdVar1) && (iVar3 - 9U < 8)) {\n      eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8);\n      local_100 = eVar6 & 0xffffffff;\n      if (&pdVar12->name < pdVar1) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n    pdVar20 = (dwarf_section *)&pdVar12->name;\n    if (pdVar20 < pdVar1) {\n      local_100 = 0;\n      goto LAB_001216e0;\n    }\n    local_100 = 0;\n    local_120 = 0;\n    bVar29 = false;\n    pdVar2 = pdVar20;\n  }" if (parenthesized_expression "(pdVar20 < pdVar1)" ( (binary_expression "pdVar20 < pdVar1" identifier < identifier) )) (compound_statement "{\n    iVar5 = 4;\nLAB_0012154d:\n    eVar6 = (*byte_get)((uchar *)pdVar12,iVar5);\n    uVar4 = (uint)eVar6;\n    if (uVar4 < 2) {\n      local_128 = (dwarf_section *)0x0;\n      goto LAB_00121690;\n    }\n    if (ppcVar13 < pdVar1) {\n      iVar5 = 4;\nLAB_0012183d:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      local_128 = (dwarf_section *)(eVar6 & 0xffffffff);\n      goto LAB_00121690;\n    }\n    if ((pdVar20 < pdVar1) && (iVar5 = iVar3 + -4, iVar3 - 5U < 8)) goto LAB_0012183d;\n    local_128 = (dwarf_section *)0x0;\n    if (pdVar1 <= (dwarf_section *)((long)&pdVar12->compressed_name + 4)) goto LAB_001215a0;\nLAB_00121780:\n    eVar6 = (*byte_get)((uchar *)ppcVar13,4);\n    local_100 = eVar6 & 0xffffffff;\n    if (&pdVar12->name < pdVar1) {\nLAB_001216e0:\n      iVar5 = 4;\n    }\n    else {\n      iVar5 = iVar3 + -0xc;\n      if (7 < iVar3 - 0xdU) {\nLAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n        pdVar20 = (dwarf_section *)&pdVar12->name;\n        local_120 = 0;\n        bVar29 = false;\n        pdVar2 = pdVar20;\n        goto joined_r0x001217d3;\n      }\n    }\n    ppcVar13 = &pdVar12->name;\n    uVar8 = (*byte_get)((uchar *)((long)&pdVar12->compressed_name + 4),iVar5);\n    iVar3 = (int)uVar8;\n    local_120 = uVar8 & 0xffffffff;\n    pdVar20 = (dwarf_section *)((long)ppcVar13 + (ulong)(uint)(iVar3 * 8));\n    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4));\n    if (((pdVar20 < ppcVar13) || (pdVar14 < pdVar12)) ||\n       ((bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29))))\n    {\n      pcVar7 = section->name;\n      pcVar11 = (char *)dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0012154d:\n    eVar6 = (*byte_get)((uchar *)pdVar12,iVar5);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar12,iVar5);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar12,iVar5)" identifier = (call_expression "(*byte_get)((uchar *)pdVar12,iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar12,iVar5)" ( (cast_expression "(uchar *)pdVar12" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "uVar4 = (uint)eVar6;" (assignment_expression "uVar4 = (uint)eVar6" identifier = (cast_expression "(uint)eVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar4 < 2) {\n      local_128 = (dwarf_section *)0x0;\n      goto LAB_00121690;\n    }" if (parenthesized_expression "(uVar4 < 2)" ( (binary_expression "uVar4 < 2" identifier < number_literal) )) (compound_statement "{\n      local_128 = (dwarf_section *)0x0;\n      goto LAB_00121690;\n    }" { (expression_statement "local_128 = (dwarf_section *)0x0;" (assignment_expression "local_128 = (dwarf_section *)0x0" identifier = (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00121690;" goto statement_identifier ;) })) (if_statement "if (ppcVar13 < pdVar1) {\n      iVar5 = 4;\nLAB_0012183d:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      local_128 = (dwarf_section *)(eVar6 & 0xffffffff);\n      goto LAB_00121690;\n    }" if (parenthesized_expression "(ppcVar13 < pdVar1)" ( (binary_expression "ppcVar13 < pdVar1" identifier < identifier) )) (compound_statement "{\n      iVar5 = 4;\nLAB_0012183d:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      local_128 = (dwarf_section *)(eVar6 & 0xffffffff);\n      goto LAB_00121690;\n    }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0012183d:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar20,iVar5)" identifier = (call_expression "(*byte_get)((uchar *)pdVar20,iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar20,iVar5)" ( (cast_expression "(uchar *)pdVar20" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "local_128 = (dwarf_section *)(eVar6 & 0xffffffff);" (assignment_expression "local_128 = (dwarf_section *)(eVar6 & 0xffffffff)" identifier = (cast_expression "(dwarf_section *)(eVar6 & 0xffffffff)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(eVar6 & 0xffffffff)" ( (binary_expression "eVar6 & 0xffffffff" identifier & number_literal) )))) ;) (goto_statement "goto LAB_00121690;" goto statement_identifier ;) })) (if_statement "if ((pdVar20 < pdVar1) && (iVar5 = iVar3 + -4, iVar3 - 5U < 8)) goto LAB_0012183d;" if (parenthesized_expression "((pdVar20 < pdVar1) && (iVar5 = iVar3 + -4, iVar3 - 5U < 8))" ( (binary_expression "(pdVar20 < pdVar1) && (iVar5 = iVar3 + -4, iVar3 - 5U < 8)" (parenthesized_expression "(pdVar20 < pdVar1)" ( (binary_expression "pdVar20 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar5 = iVar3 + -4, iVar3 - 5U < 8)" ( (comma_expression "iVar5 = iVar3 + -4, iVar3 - 5U < 8" (assignment_expression "iVar5 = iVar3 + -4" identifier = (binary_expression "iVar3 + -4" identifier + number_literal)) , (binary_expression "iVar3 - 5U < 8" (binary_expression "iVar3 - 5U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_0012183d;" goto statement_identifier ;)) (expression_statement "local_128 = (dwarf_section *)0x0;" (assignment_expression "local_128 = (dwarf_section *)0x0" identifier = (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pdVar1 <= (dwarf_section *)((long)&pdVar12->compressed_name + 4)) goto LAB_001215a0;" if (parenthesized_expression "(pdVar1 <= (dwarf_section *)((long)&pdVar12->compressed_name + 4))" ( (binary_expression "pdVar1 <= (dwarf_section *)((long)&pdVar12->compressed_name + 4)" identifier <= (cast_expression "(dwarf_section *)((long)&pdVar12->compressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar12->compressed_name + 4)" ( (binary_expression "(long)&pdVar12->compressed_name + 4" (cast_expression "(long)&pdVar12->compressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar12->compressed_name" & (field_expression "pdVar12->compressed_name" identifier -> field_identifier))) + number_literal) )))) )) (goto_statement "goto LAB_001215a0;" goto statement_identifier ;)) (labeled_statement "LAB_00121780:\n    eVar6 = (*byte_get)((uchar *)ppcVar13,4);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)ppcVar13,4);" (assignment_expression "eVar6 = (*byte_get)((uchar *)ppcVar13,4)" identifier = (call_expression "(*byte_get)((uchar *)ppcVar13,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)ppcVar13,4)" ( (cast_expression "(uchar *)ppcVar13" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;)) (expression_statement "local_100 = eVar6 & 0xffffffff;" (assignment_expression "local_100 = eVar6 & 0xffffffff" identifier = (binary_expression "eVar6 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (&pdVar12->name < pdVar1) {\nLAB_001216e0:\n      iVar5 = 4;\n    }\n    else {\n      iVar5 = iVar3 + -0xc;\n      if (7 < iVar3 - 0xdU) {\nLAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n        pdVar20 = (dwarf_section *)&pdVar12->name;\n        local_120 = 0;\n        bVar29 = false;\n        pdVar2 = pdVar20;\n        goto joined_r0x001217d3;\n      }\n    }" if (parenthesized_expression "(&pdVar12->name < pdVar1)" ( (binary_expression "&pdVar12->name < pdVar1" (pointer_expression "&pdVar12->name" & (field_expression "pdVar12->name" identifier -> field_identifier)) < identifier) )) (compound_statement "{\nLAB_001216e0:\n      iVar5 = 4;\n    }" { (labeled_statement "LAB_001216e0:\n      iVar5 = 4;" statement_identifier : (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;)) }) (else_clause "else {\n      iVar5 = iVar3 + -0xc;\n      if (7 < iVar3 - 0xdU) {\nLAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n        pdVar20 = (dwarf_section *)&pdVar12->name;\n        local_120 = 0;\n        bVar29 = false;\n        pdVar2 = pdVar20;\n        goto joined_r0x001217d3;\n      }\n    }" else (compound_statement "{\n      iVar5 = iVar3 + -0xc;\n      if (7 < iVar3 - 0xdU) {\nLAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n        pdVar20 = (dwarf_section *)&pdVar12->name;\n        local_120 = 0;\n        bVar29 = false;\n        pdVar2 = pdVar20;\n        goto joined_r0x001217d3;\n      }\n    }" { (expression_statement "iVar5 = iVar3 + -0xc;" (assignment_expression "iVar5 = iVar3 + -0xc" identifier = (binary_expression "iVar3 + -0xc" identifier + number_literal)) ;) (if_statement "if (7 < iVar3 - 0xdU) {\nLAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n        pdVar20 = (dwarf_section *)&pdVar12->name;\n        local_120 = 0;\n        bVar29 = false;\n        pdVar2 = pdVar20;\n        goto joined_r0x001217d3;\n      }" if (parenthesized_expression "(7 < iVar3 - 0xdU)" ( (binary_expression "7 < iVar3 - 0xdU" number_literal < (binary_expression "iVar3 - 0xdU" identifier - number_literal)) )) (compound_statement "{\nLAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n        pdVar20 = (dwarf_section *)&pdVar12->name;\n        local_120 = 0;\n        bVar29 = false;\n        pdVar2 = pdVar20;\n        goto joined_r0x001217d3;\n      }" { (labeled_statement "LAB_001217b9:\n        pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);" statement_identifier : (expression_statement "pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);" (assignment_expression "pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar12->compressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar12->compressed_name + 4)" ( (binary_expression "(long)&pdVar12->compressed_name + 4" (cast_expression "(long)&pdVar12->compressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar12->compressed_name" & (field_expression "pdVar12->compressed_name" identifier -> field_identifier))) + number_literal) )))) ;)) (expression_statement "pdVar20 = (dwarf_section *)&pdVar12->name;" (assignment_expression "pdVar20 = (dwarf_section *)&pdVar12->name" identifier = (cast_expression "(dwarf_section *)&pdVar12->name" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pdVar12->name" & (field_expression "pdVar12->name" identifier -> field_identifier)))) ;) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" identifier = number_literal) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "pdVar2 = pdVar20;" (assignment_expression "pdVar2 = pdVar20" identifier = identifier) ;) (goto_statement "goto joined_r0x001217d3;" goto statement_identifier ;) })) }))) (expression_statement "ppcVar13 = &pdVar12->name;" (assignment_expression "ppcVar13 = &pdVar12->name" identifier = (pointer_expression "&pdVar12->name" & (field_expression "pdVar12->name" identifier -> field_identifier))) ;) (expression_statement "uVar8 = (*byte_get)((uchar *)((long)&pdVar12->compressed_name + 4),iVar5);" (assignment_expression "uVar8 = (*byte_get)((uchar *)((long)&pdVar12->compressed_name + 4),iVar5)" identifier = (call_expression "(*byte_get)((uchar *)((long)&pdVar12->compressed_name + 4),iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)((long)&pdVar12->compressed_name + 4),iVar5)" ( (cast_expression "(uchar *)((long)&pdVar12->compressed_name + 4)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar12->compressed_name + 4)" ( (binary_expression "(long)&pdVar12->compressed_name + 4" (cast_expression "(long)&pdVar12->compressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar12->compressed_name" & (field_expression "pdVar12->compressed_name" identifier -> field_identifier))) + number_literal) ))) , identifier )))) ;) (expression_statement "iVar3 = (int)uVar8;" (assignment_expression "iVar3 = (int)uVar8" identifier = (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_120 = uVar8 & 0xffffffff;" (assignment_expression "local_120 = uVar8 & 0xffffffff" identifier = (binary_expression "uVar8 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "pdVar20 = (dwarf_section *)((long)ppcVar13 + (ulong)(uint)(iVar3 * 8));" (assignment_expression "pdVar20 = (dwarf_section *)((long)ppcVar13 + (ulong)(uint)(iVar3 * 8))" identifier = (cast_expression "(dwarf_section *)((long)ppcVar13 + (ulong)(uint)(iVar3 * 8))" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)ppcVar13 + (ulong)(uint)(iVar3 * 8))" ( (binary_expression "(long)ppcVar13 + (ulong)(uint)(iVar3 * 8)" (cast_expression "(long)ppcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (call_expression "(ulong)(uint)(iVar3 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar3 * 8)" ( (binary_expression "iVar3 * 8" identifier * number_literal) )))) )))) ;) (expression_statement "pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4));" (assignment_expression "pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4))" identifier = (cast_expression "(dwarf_section *)((long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4))" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4))" ( (binary_expression "(long)&pdVar20->uncompressed_name + (ulong)(uint)(iVar3 * 4)" (cast_expression "(long)&pdVar20->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar20->uncompressed_name" & (field_expression "pdVar20->uncompressed_name" identifier -> field_identifier))) + (call_expression "(ulong)(uint)(iVar3 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar3 * 4)" ( (binary_expression "iVar3 * 4" identifier * number_literal) )))) )))) ;) (if_statement "if (((pdVar20 < ppcVar13) || (pdVar14 < pdVar12)) ||\n       ((bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29))))\n    {\n      pcVar7 = section->name;\n      pcVar11 = (char *)dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }" if (parenthesized_expression "(((pdVar20 < ppcVar13) || (pdVar14 < pdVar12)) ||\n       ((bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29))))" ( (binary_expression "((pdVar20 < ppcVar13) || (pdVar14 < pdVar12)) ||\n       ((bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29)))" (parenthesized_expression "((pdVar20 < ppcVar13) || (pdVar14 < pdVar12))" ( (binary_expression "(pdVar20 < ppcVar13) || (pdVar14 < pdVar12)" (parenthesized_expression "(pdVar20 < ppcVar13)" ( (binary_expression "pdVar20 < ppcVar13" identifier < identifier) )) || (parenthesized_expression "(pdVar14 < pdVar12)" ( (binary_expression "pdVar14 < pdVar12" identifier < identifier) ))) )) || (parenthesized_expression "((bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29)))" ( (parenthesized_expression "(bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29))" ( (comma_expression "bVar29 = iVar3 != 0, pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29)" (assignment_expression "bVar29 = iVar3 != 0" identifier = (binary_expression "iVar3 != 0" identifier != number_literal)) , (comma_expression "pdVar2 = pdVar14, (dwarf_section *)ppcVar13 == pdVar20 && (bVar29)" (assignment_expression "pdVar2 = pdVar14" identifier = identifier) , (binary_expression "(dwarf_section *)ppcVar13 == pdVar20 && (bVar29)" (binary_expression "(dwarf_section *)ppcVar13 == pdVar20" (cast_expression "(dwarf_section *)ppcVar13" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) && (parenthesized_expression "(bVar29)" ( identifier ))))) )) ))) )) (compound_statement "{\n      pcVar7 = section->name;\n      pcVar11 = (char *)dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }" { (expression_statement "pcVar7 = section->name;" (assignment_expression "pcVar7 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar11 = (char *)dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5);" (assignment_expression "pcVar11 = (char *)dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5)" identifier = (cast_expression "(char *)dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5)" identifier (argument_list "(0,"Section %s is too small for %d slot\n",\n                                   "Section %s is too small for %d slots\n",uVar8 & 0xffffffff,5)" ( number_literal , (string_literal ""Section %s is too small for %d slot\n"" " string_content escape_sequence ") , (string_literal ""Section %s is too small for %d slots\n"" " string_content escape_sequence ") , (binary_expression "uVar8 & 0xffffffff" identifier & number_literal) , number_literal ))))) ;) (goto_statement "goto LAB_0012175d;" goto statement_identifier ;) })) }) (else_clause "else {\n    if ((pdVar12 < pdVar1) && (iVar5 = iVar3, iVar3 - 1U < 8)) goto LAB_0012154d;\n    uVar4 = 0;\n    local_128 = (dwarf_section *)0x0;\nLAB_00121690:\n    if ((dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1) goto LAB_00121780;\n    if ((ppcVar13 < pdVar1) && (iVar3 - 9U < 8)) {\n      eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8);\n      local_100 = eVar6 & 0xffffffff;\n      if (&pdVar12->name < pdVar1) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n    pdVar20 = (dwarf_section *)&pdVar12->name;\n    if (pdVar20 < pdVar1) {\n      local_100 = 0;\n      goto LAB_001216e0;\n    }\n    local_100 = 0;\n    local_120 = 0;\n    bVar29 = false;\n    pdVar2 = pdVar20;\n  }" else (compound_statement "{\n    if ((pdVar12 < pdVar1) && (iVar5 = iVar3, iVar3 - 1U < 8)) goto LAB_0012154d;\n    uVar4 = 0;\n    local_128 = (dwarf_section *)0x0;\nLAB_00121690:\n    if ((dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1) goto LAB_00121780;\n    if ((ppcVar13 < pdVar1) && (iVar3 - 9U < 8)) {\n      eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8);\n      local_100 = eVar6 & 0xffffffff;\n      if (&pdVar12->name < pdVar1) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);\n    pdVar20 = (dwarf_section *)&pdVar12->name;\n    if (pdVar20 < pdVar1) {\n      local_100 = 0;\n      goto LAB_001216e0;\n    }\n    local_100 = 0;\n    local_120 = 0;\n    bVar29 = false;\n    pdVar2 = pdVar20;\n  }" { (if_statement "if ((pdVar12 < pdVar1) && (iVar5 = iVar3, iVar3 - 1U < 8)) goto LAB_0012154d;" if (parenthesized_expression "((pdVar12 < pdVar1) && (iVar5 = iVar3, iVar3 - 1U < 8))" ( (binary_expression "(pdVar12 < pdVar1) && (iVar5 = iVar3, iVar3 - 1U < 8)" (parenthesized_expression "(pdVar12 < pdVar1)" ( (binary_expression "pdVar12 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar5 = iVar3, iVar3 - 1U < 8)" ( (comma_expression "iVar5 = iVar3, iVar3 - 1U < 8" (assignment_expression "iVar5 = iVar3" identifier = identifier) , (binary_expression "iVar3 - 1U < 8" (binary_expression "iVar3 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_0012154d;" goto statement_identifier ;)) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "local_128 = (dwarf_section *)0x0;" (assignment_expression "local_128 = (dwarf_section *)0x0" identifier = (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00121690:\n    if ((dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1) goto LAB_00121780;" statement_identifier : (if_statement "if ((dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1) goto LAB_00121780;" if (parenthesized_expression "((dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1)" ( (binary_expression "(dwarf_section *)((long)&pdVar12->compressed_name + 4) < pdVar1" (cast_expression "(dwarf_section *)((long)&pdVar12->compressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar12->compressed_name + 4)" ( (binary_expression "(long)&pdVar12->compressed_name + 4" (cast_expression "(long)&pdVar12->compressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar12->compressed_name" & (field_expression "pdVar12->compressed_name" identifier -> field_identifier))) + number_literal) ))) < identifier) )) (goto_statement "goto LAB_00121780;" goto statement_identifier ;))) (if_statement "if ((ppcVar13 < pdVar1) && (iVar3 - 9U < 8)) {\n      eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8);\n      local_100 = eVar6 & 0xffffffff;\n      if (&pdVar12->name < pdVar1) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }" if (parenthesized_expression "((ppcVar13 < pdVar1) && (iVar3 - 9U < 8))" ( (binary_expression "(ppcVar13 < pdVar1) && (iVar3 - 9U < 8)" (parenthesized_expression "(ppcVar13 < pdVar1)" ( (binary_expression "ppcVar13 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar3 - 9U < 8)" ( (binary_expression "iVar3 - 9U < 8" (binary_expression "iVar3 - 9U" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n      eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8);\n      local_100 = eVar6 & 0xffffffff;\n      if (&pdVar12->name < pdVar1) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }" { (expression_statement "eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8);" (assignment_expression "eVar6 = (*byte_get)((uchar *)ppcVar13,iVar3 + -8)" identifier = (call_expression "(*byte_get)((uchar *)ppcVar13,iVar3 + -8)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)ppcVar13,iVar3 + -8)" ( (cast_expression "(uchar *)ppcVar13" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "iVar3 + -8" identifier + number_literal) )))) ;) (expression_statement "local_100 = eVar6 & 0xffffffff;" (assignment_expression "local_100 = eVar6 & 0xffffffff" identifier = (binary_expression "eVar6 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (&pdVar12->name < pdVar1) goto LAB_001216e0;" if (parenthesized_expression "(&pdVar12->name < pdVar1)" ( (binary_expression "&pdVar12->name < pdVar1" (pointer_expression "&pdVar12->name" & (field_expression "pdVar12->name" identifier -> field_identifier)) < identifier) )) (goto_statement "goto LAB_001216e0;" goto statement_identifier ;)) (goto_statement "goto LAB_001217b9;" goto statement_identifier ;) })) (labeled_statement "LAB_001215a0:\n    pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);" statement_identifier : (expression_statement "pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4);" (assignment_expression "pdVar14 = (dwarf_section *)((long)&pdVar12->compressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar12->compressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar12->compressed_name + 4)" ( (binary_expression "(long)&pdVar12->compressed_name + 4" (cast_expression "(long)&pdVar12->compressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar12->compressed_name" & (field_expression "pdVar12->compressed_name" identifier -> field_identifier))) + number_literal) )))) ;)) (expression_statement "pdVar20 = (dwarf_section *)&pdVar12->name;" (assignment_expression "pdVar20 = (dwarf_section *)&pdVar12->name" identifier = (cast_expression "(dwarf_section *)&pdVar12->name" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pdVar12->name" & (field_expression "pdVar12->name" identifier -> field_identifier)))) ;) (if_statement "if (pdVar20 < pdVar1) {\n      local_100 = 0;\n      goto LAB_001216e0;\n    }" if (parenthesized_expression "(pdVar20 < pdVar1)" ( (binary_expression "pdVar20 < pdVar1" identifier < identifier) )) (compound_statement "{\n      local_100 = 0;\n      goto LAB_001216e0;\n    }" { (expression_statement "local_100 = 0;" (assignment_expression "local_100 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001216e0;" goto statement_identifier ;) })) (expression_statement "local_100 = 0;" (assignment_expression "local_100 = 0" identifier = number_literal) ;) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" identifier = number_literal) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "pdVar2 = pdVar20;" (assignment_expression "pdVar2 = pdVar20" identifier = identifier) ;) }))) (labeled_statement "joined_r0x001217d3:\n  uVar8 = local_120;" statement_identifier : (expression_statement "uVar8 = local_120;" (assignment_expression "uVar8 = local_120" identifier = identifier) ;)) (if_statement "if (do_display != 0) {\n    introduce((dwarf_section *)section->name,(int)section + 0x18,pdVar14);\n    pcVar7 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar7,(ulong)uVar4);\n    if (1 < uVar4) {\n      pcVar7 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar7,local_128);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar7,local_100);\n    pcVar7 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar7,uVar8);\n  }" if (parenthesized_expression "(do_display != 0)" ( (binary_expression "do_display != 0" identifier != number_literal) )) (compound_statement "{\n    introduce((dwarf_section *)section->name,(int)section + 0x18,pdVar14);\n    pcVar7 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar7,(ulong)uVar4);\n    if (1 < uVar4) {\n      pcVar7 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar7,local_128);\n    }\n    pcVar7 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar7,local_100);\n    pcVar7 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar7,uVar8);\n  }" { (expression_statement "introduce((dwarf_section *)section->name,(int)section + 0x18,pdVar14);" (call_expression "introduce((dwarf_section *)section->name,(int)section + 0x18,pdVar14)" identifier (argument_list "((dwarf_section *)section->name,(int)section + 0x18,pdVar14)" ( (cast_expression "(dwarf_section *)section->name" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section->name" identifier -> field_identifier)) , (binary_expression "(int)section + 0x18" (cast_expression "(int)section" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier ))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Version:                 %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Version:                 %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                 %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                 %d\n",5)" identifier (argument_list "(0,"  Version:                 %d\n",5)" ( number_literal , (string_literal ""  Version:                 %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,(ulong)uVar4);" (call_expression "printf(pcVar7,(ulong)uVar4)" identifier (argument_list "(pcVar7,(ulong)uVar4)" ( identifier , (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (if_statement "if (1 < uVar4) {\n      pcVar7 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar7,local_128);\n    }" if (parenthesized_expression "(1 < uVar4)" ( (binary_expression "1 < uVar4" number_literal < identifier) )) (compound_statement "{\n      pcVar7 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar7,local_128);\n    }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Number of columns:       %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Number of columns:       %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Number of columns:       %d\n",5)" identifier (argument_list "(0,"  Number of columns:       %d\n",5)" ( number_literal , (string_literal ""  Number of columns:       %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,local_128);" (call_expression "printf(pcVar7,local_128)" identifier (argument_list "(pcVar7,local_128)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Number of used entries:  %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Number of used entries:  %d\n",5)" identifier (argument_list "(0,"  Number of used entries:  %d\n",5)" ( number_literal , (string_literal ""  Number of used entries:  %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,local_100);" (call_expression "printf(pcVar7,local_100)" identifier (argument_list "(pcVar7,local_100)" ( identifier , identifier ))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Number of slots:         %d\n\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Number of slots:         %d\n\n",5)" identifier (argument_list "(0,"  Number of slots:         %d\n\n",5)" ( number_literal , (string_literal ""  Number of slots:         %d\n\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,uVar8);" (call_expression "printf(pcVar7,uVar8)" identifier (argument_list "(pcVar7,uVar8)" ( identifier , identifier ))) ;) })) (expression_statement "local_e8 = &pdVar12->name;" (assignment_expression "local_e8 = &pdVar12->name" identifier = (pointer_expression "&pdVar12->name" & (field_expression "pdVar12->name" identifier -> field_identifier))) ;) (expression_statement "local_120._0_4_ = (uint)uVar8;" (assignment_expression "local_120._0_4_ = (uint)uVar8" (field_expression "local_120._0_4_" identifier . field_identifier) = (cast_expression "(uint)uVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (pdVar1 < pdVar2) {\n    pcVar7 = section->name;\n    pcVar11 = (char *)dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(pcVar11,pcVar7,uVar8 & 0xffffffff);\n    return 0;\n  }" if (parenthesized_expression "(pdVar1 < pdVar2)" ( (binary_expression "pdVar1 < pdVar2" identifier < identifier) )) (compound_statement "{\n    pcVar7 = section->name;\n    pcVar11 = (char *)dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(pcVar11,pcVar7,uVar8 & 0xffffffff);\n    return 0;\n  }" { (expression_statement "pcVar7 = section->name;" (assignment_expression "pcVar7 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar11 = (char *)dcgettext(0,"Section %s too small for %d hash table entries\n",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"Section %s too small for %d hash table entries\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Section %s too small for %d hash table entries\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Section %s too small for %d hash table entries\n",5)" identifier (argument_list "(0,"Section %s too small for %d hash table entries\n",5)" ( number_literal , (string_literal ""Section %s too small for %d hash table entries\n"" " string_content escape_sequence ") , number_literal ))))) ;) (labeled_statement "LAB_0012175d:\n    warn(pcVar11,pcVar7,uVar8 & 0xffffffff);" statement_identifier : (expression_statement "warn(pcVar11,pcVar7,uVar8 & 0xffffffff);" (call_expression "warn(pcVar11,pcVar7,uVar8 & 0xffffffff)" identifier (argument_list "(pcVar11,pcVar7,uVar8 & 0xffffffff)" ( identifier , identifier , (binary_expression "uVar8 & 0xffffffff" identifier & number_literal) ))) ;)) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar3 = (int)pdVar1;" (assignment_expression "iVar3 = (int)pdVar1" identifier = (cast_expression "(int)pdVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (uVar4 == 1) {\n    if (do_display == 0) {\n      lVar17 = (long)pdVar1 - (long)pdVar2;\n      lVar9 = lVar17 + 3;\n      if (-1 < lVar17) {\n        lVar9 = lVar17;\n      }\n      shndx_pool_size = (uint)(lVar9 >> 2);\n      if (shndx_pool == (uint *)0x0) {\n        shndx_pool_used = 0;\n        shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);\n      }\n      else {\n        shndx_pool_size = shndx_pool_size + shndx_pool_used;\n        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);\n      }\n      if (!bVar29) {\n        return 1;\n      }\n    }\n    else if (!bVar29) goto LAB_00121928;\n    uVar4 = 0;\nLAB_001218e6:\n    pdVar12 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n    if (local_e8 + 1 <= pdVar1) {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n      if ((signature_high == 0) && (signature_low == 0)) goto LAB_0012190b;\n      iVar5 = 4;\n      if ((pdVar12 < pdVar1) ||\n         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))) {\n        eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n        uVar8 = (ulong)(uint)((int)eVar6 * 4);\n        pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);\n        if (CARRY8(uVar8,(ulong)pdVar2)) {\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }\n      }\n      if (do_display != 0) {\n        pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n        pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar11,(ulong)uVar4,pcVar7);\n      }\n      if (pdVar14 < pdVar1) {\n        do {\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        } while( true );\n      }\n      pcVar11 = "Section %s too small for shndx pool\n";\n      pcVar7 = section->name;\n      goto LAB_00121880;\n    }\n    signature_high = 0;\n    signature_low = 0;\nLAB_0012190b:\n    uVar4 = uVar4 + 1;\n    pdVar20 = pdVar12;\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar4) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n    if (do_display == 0) {\n      lVar17 = (long)pdVar1 - (long)pdVar2;\n      lVar9 = lVar17 + 3;\n      if (-1 < lVar17) {\n        lVar9 = lVar17;\n      }\n      shndx_pool_size = (uint)(lVar9 >> 2);\n      if (shndx_pool == (uint *)0x0) {\n        shndx_pool_used = 0;\n        shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);\n      }\n      else {\n        shndx_pool_size = shndx_pool_size + shndx_pool_used;\n        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);\n      }\n      if (!bVar29) {\n        return 1;\n      }\n    }\n    else if (!bVar29) goto LAB_00121928;\n    uVar4 = 0;\nLAB_001218e6:\n    pdVar12 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n    if (local_e8 + 1 <= pdVar1) {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n      if ((signature_high == 0) && (signature_low == 0)) goto LAB_0012190b;\n      iVar5 = 4;\n      if ((pdVar12 < pdVar1) ||\n         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))) {\n        eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n        uVar8 = (ulong)(uint)((int)eVar6 * 4);\n        pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);\n        if (CARRY8(uVar8,(ulong)pdVar2)) {\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }\n      }\n      if (do_display != 0) {\n        pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n        pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar11,(ulong)uVar4,pcVar7);\n      }\n      if (pdVar14 < pdVar1) {\n        do {\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        } while( true );\n      }\n      pcVar11 = "Section %s too small for shndx pool\n";\n      pcVar7 = section->name;\n      goto LAB_00121880;\n    }\n    signature_high = 0;\n    signature_low = 0;\nLAB_0012190b:\n    uVar4 = uVar4 + 1;\n    pdVar20 = pdVar12;\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar4) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }" { (if_statement "if (do_display == 0) {\n      lVar17 = (long)pdVar1 - (long)pdVar2;\n      lVar9 = lVar17 + 3;\n      if (-1 < lVar17) {\n        lVar9 = lVar17;\n      }\n      shndx_pool_size = (uint)(lVar9 >> 2);\n      if (shndx_pool == (uint *)0x0) {\n        shndx_pool_used = 0;\n        shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);\n      }\n      else {\n        shndx_pool_size = shndx_pool_size + shndx_pool_used;\n        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);\n      }\n      if (!bVar29) {\n        return 1;\n      }\n    }\n    else if (!bVar29) goto LAB_00121928;" if (parenthesized_expression "(do_display == 0)" ( (binary_expression "do_display == 0" identifier == number_literal) )) (compound_statement "{\n      lVar17 = (long)pdVar1 - (long)pdVar2;\n      lVar9 = lVar17 + 3;\n      if (-1 < lVar17) {\n        lVar9 = lVar17;\n      }\n      shndx_pool_size = (uint)(lVar9 >> 2);\n      if (shndx_pool == (uint *)0x0) {\n        shndx_pool_used = 0;\n        shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);\n      }\n      else {\n        shndx_pool_size = shndx_pool_size + shndx_pool_used;\n        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);\n      }\n      if (!bVar29) {\n        return 1;\n      }\n    }" { (expression_statement "lVar17 = (long)pdVar1 - (long)pdVar2;" (assignment_expression "lVar17 = (long)pdVar1 - (long)pdVar2" identifier = (binary_expression "(long)pdVar1 - (long)pdVar2" (cast_expression "(long)pdVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pdVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "lVar9 = lVar17 + 3;" (assignment_expression "lVar9 = lVar17 + 3" identifier = (binary_expression "lVar17 + 3" identifier + number_literal)) ;) (if_statement "if (-1 < lVar17) {\n        lVar9 = lVar17;\n      }" if (parenthesized_expression "(-1 < lVar17)" ( (binary_expression "-1 < lVar17" number_literal < identifier) )) (compound_statement "{\n        lVar9 = lVar17;\n      }" { (expression_statement "lVar9 = lVar17;" (assignment_expression "lVar9 = lVar17" identifier = identifier) ;) })) (expression_statement "shndx_pool_size = (uint)(lVar9 >> 2);" (assignment_expression "shndx_pool_size = (uint)(lVar9 >> 2)" identifier = (call_expression "(uint)(lVar9 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar9 >> 2)" ( (binary_expression "lVar9 >> 2" identifier >> number_literal) )))) ;) (if_statement "if (shndx_pool == (uint *)0x0) {\n        shndx_pool_used = 0;\n        shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);\n      }\n      else {\n        shndx_pool_size = shndx_pool_size + shndx_pool_used;\n        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);\n      }" if (parenthesized_expression "(shndx_pool == (uint *)0x0)" ( (binary_expression "shndx_pool == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        shndx_pool_used = 0;\n        shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);\n      }" { (expression_statement "shndx_pool_used = 0;" (assignment_expression "shndx_pool_used = 0" identifier = number_literal) ;) (expression_statement "shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4);" (assignment_expression "shndx_pool = (uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4)" identifier = (cast_expression "(uint *)xcmalloc(lVar9 >> 2 & 0xffffffff,4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xcmalloc(lVar9 >> 2 & 0xffffffff,4)" identifier (argument_list "(lVar9 >> 2 & 0xffffffff,4)" ( (binary_expression "lVar9 >> 2 & 0xffffffff" (binary_expression "lVar9 >> 2" identifier >> number_literal) & number_literal) , number_literal ))))) ;) }) (else_clause "else {\n        shndx_pool_size = shndx_pool_size + shndx_pool_used;\n        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);\n      }" else (compound_statement "{\n        shndx_pool_size = shndx_pool_size + shndx_pool_used;\n        shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);\n      }" { (expression_statement "shndx_pool_size = shndx_pool_size + shndx_pool_used;" (assignment_expression "shndx_pool_size = shndx_pool_size + shndx_pool_used" identifier = (binary_expression "shndx_pool_size + shndx_pool_used" identifier + identifier)) ;) (expression_statement "shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4);" (assignment_expression "shndx_pool = (uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4)" identifier = (cast_expression "(uint *)xrealloc(shndx_pool,(ulong)shndx_pool_size * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(shndx_pool,(ulong)shndx_pool_size * 4)" identifier (argument_list "(shndx_pool,(ulong)shndx_pool_size * 4)" ( identifier , (binary_expression "(ulong)shndx_pool_size * 4" (cast_expression "(ulong)shndx_pool_size" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) ))))) ;) }))) (if_statement "if (!bVar29) {\n        return 1;\n      }" if (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else if (!bVar29) goto LAB_00121928;" else (if_statement "if (!bVar29) goto LAB_00121928;" if (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) (goto_statement "goto LAB_00121928;" goto statement_identifier ;)))) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001218e6:\n    pdVar12 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);" statement_identifier : (expression_statement "pdVar12 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);" (assignment_expression "pdVar12 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar20->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar20->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar20->uncompressed_name + 4" (cast_expression "(long)&pdVar20->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar20->uncompressed_name" & (field_expression "pdVar20->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;)) (if_statement "if (local_e8 + 1 <= pdVar1) {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n      if ((signature_high == 0) && (signature_low == 0)) goto LAB_0012190b;\n      iVar5 = 4;\n      if ((pdVar12 < pdVar1) ||\n         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))) {\n        eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n        uVar8 = (ulong)(uint)((int)eVar6 * 4);\n        pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);\n        if (CARRY8(uVar8,(ulong)pdVar2)) {\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }\n      }\n      if (do_display != 0) {\n        pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n        pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar11,(ulong)uVar4,pcVar7);\n      }\n      if (pdVar14 < pdVar1) {\n        do {\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        } while( true );\n      }\n      pcVar11 = "Section %s too small for shndx pool\n";\n      pcVar7 = section->name;\n      goto LAB_00121880;\n    }" if (parenthesized_expression "(local_e8 + 1 <= pdVar1)" ( (binary_expression "local_e8 + 1 <= pdVar1" (binary_expression "local_e8 + 1" identifier + number_literal) <= identifier) )) (compound_statement "{\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n      if ((signature_high == 0) && (signature_low == 0)) goto LAB_0012190b;\n      iVar5 = 4;\n      if ((pdVar12 < pdVar1) ||\n         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))) {\n        eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n        uVar8 = (ulong)(uint)((int)eVar6 * 4);\n        pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);\n        if (CARRY8(uVar8,(ulong)pdVar2)) {\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }\n      }\n      if (do_display != 0) {\n        pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n        pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar11,(ulong)uVar4,pcVar7);\n      }\n      if (pdVar14 < pdVar1) {\n        do {\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        } while( true );\n      }\n      pcVar11 = "Section %s too small for shndx pool\n";\n      pcVar7 = section->name;\n      goto LAB_00121880;\n    }" { (expression_statement "byte_get_64((uchar *)local_e8,&signature_high,&signature_low);" (call_expression "byte_get_64((uchar *)local_e8,&signature_high,&signature_low)" identifier (argument_list "((uchar *)local_e8,&signature_high,&signature_low)" ( (cast_expression "(uchar *)local_e8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&signature_high" & identifier) , (pointer_expression "&signature_low" & identifier) ))) ;) (if_statement "if ((signature_high == 0) && (signature_low == 0)) goto LAB_0012190b;" if (parenthesized_expression "((signature_high == 0) && (signature_low == 0))" ( (binary_expression "(signature_high == 0) && (signature_low == 0)" (parenthesized_expression "(signature_high == 0)" ( (binary_expression "signature_high == 0" identifier == number_literal) )) && (parenthesized_expression "(signature_low == 0)" ( (binary_expression "signature_low == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0012190b;" goto statement_identifier ;)) (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) (if_statement "if ((pdVar12 < pdVar1) ||\n         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))) {\n        eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n        uVar8 = (ulong)(uint)((int)eVar6 * 4);\n        pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);\n        if (CARRY8(uVar8,(ulong)pdVar2)) {\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }\n      }" if (parenthesized_expression "((pdVar12 < pdVar1) ||\n         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))))" ( (binary_expression "(pdVar12 < pdVar1) ||\n         ((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))" (parenthesized_expression "(pdVar12 < pdVar1)" ( (binary_expression "pdVar12 < pdVar1" identifier < identifier) )) || (parenthesized_expression "((pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)))" ( (parenthesized_expression "(pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))" ( (comma_expression "pdVar14 = pdVar2, pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)" (assignment_expression "pdVar14 = pdVar2" identifier = identifier) , (binary_expression "pdVar20 < pdVar1 && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)" (binary_expression "pdVar20 < pdVar1" identifier < identifier) && (parenthesized_expression "(iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)" ( (comma_expression "iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8" (assignment_expression "iVar5 = iVar3 - (int)pdVar20" identifier = (binary_expression "iVar3 - (int)pdVar20" identifier - (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar5 - 1U < 8" (binary_expression "iVar5 - 1U" identifier - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n        uVar8 = (ulong)(uint)((int)eVar6 * 4);\n        pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);\n        if (CARRY8(uVar8,(ulong)pdVar2)) {\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }\n      }" { (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar20,iVar5)" identifier = (call_expression "(*byte_get)((uchar *)pdVar20,iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar20,iVar5)" ( (cast_expression "(uchar *)pdVar20" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "uVar8 = (ulong)(uint)((int)eVar6 * 4);" (assignment_expression "uVar8 = (ulong)(uint)((int)eVar6 * 4)" identifier = (call_expression "(ulong)(uint)((int)eVar6 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "((int)eVar6 * 4)" ( (binary_expression "(int)eVar6 * 4" (cast_expression "(int)eVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8);" (assignment_expression "pdVar14 = (dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar2->uncompressed_name + uVar8)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar2->uncompressed_name + uVar8)" ( (binary_expression "(long)&pdVar2->uncompressed_name + uVar8" (cast_expression "(long)&pdVar2->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar2->uncompressed_name" & (field_expression "pdVar2->uncompressed_name" identifier -> field_identifier))) + identifier) )))) ;) (if_statement "if (CARRY8(uVar8,(ulong)pdVar2)) {\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }" if (parenthesized_expression "(CARRY8(uVar8,(ulong)pdVar2))" ( (call_expression "CARRY8(uVar8,(ulong)pdVar2)" identifier (argument_list "(uVar8,(ulong)pdVar2)" ( identifier , (cast_expression "(ulong)pdVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) )) (compound_statement "{\n          pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(pcVar7);\n          return 0;\n        }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Section index pool located before start of section\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Section index pool located before start of section\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Section index pool located before start of section\n",5)" identifier (argument_list "(0,"Section index pool located before start of section\n",5)" ( number_literal , (string_literal ""Section index pool located before start of section\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7);" (call_expression "warn(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) })) (if_statement "if (do_display != 0) {\n        pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n        pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar11,(ulong)uVar4,pcVar7);\n      }" if (parenthesized_expression "(do_display != 0)" ( (binary_expression "do_display != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n        pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar11,(ulong)uVar4,pcVar7);\n      }" { (expression_statement "pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);" (assignment_expression "pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14)" identifier = (call_expression "dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14)" identifier (argument_list "(signature_high,signature_low,buf,(uint)pdVar14)" ( identifier , identifier , identifier , (cast_expression "(uint)pdVar14" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" identifier (argument_list "(0,"  [%3d] Signature:  0x%s  Sections: ",5)" ( number_literal , (string_literal ""  [%3d] Signature:  0x%s  Sections: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar11,(ulong)uVar4,pcVar7);" (call_expression "printf(pcVar11,(ulong)uVar4,pcVar7)" identifier (argument_list "(pcVar11,(ulong)uVar4,pcVar7)" ( identifier , (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) })) (if_statement "if (pdVar14 < pdVar1) {\n        do {\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        } while( true );\n      }" if (parenthesized_expression "(pdVar14 < pdVar1)" ( (binary_expression "pdVar14 < pdVar1" identifier < identifier) )) (compound_statement "{\n        do {\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        } while( true );\n      }" { (do_statement "do {\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        } while( true );" do (compound_statement "{\n          pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n          if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          if ((uint)eVar6 == 0) goto LAB_00121a48;\n          if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }\n          pdVar14 = pdVar20;\n          if (pdVar1 <= pdVar20) break;\n        }" { (expression_statement "pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);" (assignment_expression "pdVar20 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar14->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar14->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar14->uncompressed_name + 4" (cast_expression "(long)&pdVar14->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar14->uncompressed_name" & (field_expression "pdVar14->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (pdVar20 < pdVar1) {\n            iVar5 = 4;\n          }\n          else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }" if (parenthesized_expression "(pdVar20 < pdVar1)" ( (binary_expression "pdVar20 < pdVar1" identifier < identifier) )) (compound_statement "{\n            iVar5 = 4;\n          }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) }) (else_clause "else {\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }" else (compound_statement "{\n            iVar5 = iVar3 - (int)pdVar14;\n            if (7 < iVar5 - 1U) goto LAB_00121a48;\n          }" { (expression_statement "iVar5 = iVar3 - (int)pdVar14;" (assignment_expression "iVar5 = iVar3 - (int)pdVar14" identifier = (binary_expression "iVar3 - (int)pdVar14" identifier - (cast_expression "(int)pdVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (7 < iVar5 - 1U) goto LAB_00121a48;" if (parenthesized_expression "(7 < iVar5 - 1U)" ( (binary_expression "7 < iVar5 - 1U" number_literal < (binary_expression "iVar5 - 1U" identifier - number_literal)) )) (goto_statement "goto LAB_00121a48;" goto statement_identifier ;)) }))) (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar14,iVar5)" identifier = (call_expression "(*byte_get)((uchar *)pdVar14,iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar14,iVar5)" ( (cast_expression "(uchar *)pdVar14" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (if_statement "if ((uint)eVar6 == 0) goto LAB_00121a48;" if (parenthesized_expression "((uint)eVar6 == 0)" ( (binary_expression "(uint)eVar6 == 0" (cast_expression "(uint)eVar6" ( (type_descriptor "uint" type_identifier) ) identifier) == number_literal) )) (goto_statement "goto LAB_00121a48;" goto statement_identifier ;)) (if_statement "if (do_display == 0) {\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }\n          else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }" if (parenthesized_expression "(do_display == 0)" ( (binary_expression "do_display == 0" identifier == number_literal) )) (compound_statement "{\n            uVar8 = (ulong)shndx_pool_used;\n            if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }\n          }" { (expression_statement "uVar8 = (ulong)shndx_pool_used;" (assignment_expression "uVar8 = (ulong)shndx_pool_used" identifier = (cast_expression "(ulong)shndx_pool_used" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (shndx_pool_used < shndx_pool_size) {\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }\n            else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }" if (parenthesized_expression "(shndx_pool_used < shndx_pool_size)" ( (binary_expression "shndx_pool_used < shndx_pool_size" identifier < identifier) )) (compound_statement "{\n              shndx_pool_used = shndx_pool_used + 1;\n              shndx_pool[uVar8] = (uint)eVar6;\n            }" { (expression_statement "shndx_pool_used = shndx_pool_used + 1;" (assignment_expression "shndx_pool_used = shndx_pool_used + 1" identifier = (binary_expression "shndx_pool_used + 1" identifier + number_literal)) ;) (expression_statement "shndx_pool[uVar8] = (uint)eVar6;" (assignment_expression "shndx_pool[uVar8] = (uint)eVar6" (subscript_expression "shndx_pool[uVar8]" identifier [ identifier ]) = (cast_expression "(uint)eVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }" else (compound_statement "{\n              pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error(pcVar7);\n            }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" identifier (argument_list "(0,"Internal error: out of space in the shndx pool.\n",5)" ( number_literal , (string_literal ""Internal error: out of space in the shndx pool.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar7);" (call_expression "error(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) }))) }) (else_clause "else {\n            printf(" %d",eVar6 & 0xffffffff);\n          }" else (compound_statement "{\n            printf(" %d",eVar6 & 0xffffffff);\n          }" { (expression_statement "printf(" %d",eVar6 & 0xffffffff);" (call_expression "printf(" %d",eVar6 & 0xffffffff)" identifier (argument_list "(" %d",eVar6 & 0xffffffff)" ( (string_literal "" %d"" " string_content ") , (binary_expression "eVar6 & 0xffffffff" identifier & number_literal) ))) ;) }))) (expression_statement "pdVar14 = pdVar20;" (assignment_expression "pdVar14 = pdVar20" identifier = identifier) ;) (if_statement "if (pdVar1 <= pdVar20) break;" if (parenthesized_expression "(pdVar1 <= pdVar20)" ( (binary_expression "pdVar1 <= pdVar20" identifier <= identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pcVar11 = "Section %s too small for shndx pool\n";" (assignment_expression "pcVar11 = "Section %s too small for shndx pool\n"" identifier = (string_literal ""Section %s too small for shndx pool\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar7 = section->name;" (assignment_expression "pcVar7 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (goto_statement "goto LAB_00121880;" goto statement_identifier ;) })) (expression_statement "signature_high = 0;" (assignment_expression "signature_high = 0" identifier = number_literal) ;) (expression_statement "signature_low = 0;" (assignment_expression "signature_low = 0" identifier = number_literal) ;) (labeled_statement "LAB_0012190b:\n    uVar4 = uVar4 + 1;" statement_identifier : (expression_statement "uVar4 = uVar4 + 1;" (assignment_expression "uVar4 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;)) (expression_statement "pdVar20 = pdVar12;" (assignment_expression "pdVar20 = pdVar12" identifier = identifier) ;) (expression_statement "local_e8 = local_e8 + 1;" (assignment_expression "local_e8 = local_e8 + 1" identifier = (binary_expression "local_e8 + 1" identifier + number_literal)) ;) (if_statement "if ((uint)local_120 <= uVar4) goto LAB_0012191c;" if (parenthesized_expression "((uint)local_120 <= uVar4)" ( (binary_expression "(uint)local_120 <= uVar4" (cast_expression "(uint)local_120" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) )) (goto_statement "goto LAB_0012191c;" goto statement_identifier ;)) (goto_statement "goto LAB_001218e6;" goto statement_identifier ;) })) (if_statement "if (uVar4 != 2) {\n    if (do_display == 0) {\n      return 1;\n    }\n    pcVar7 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar7,(ulong)uVar4);\n    goto LAB_00121928;\n  }" if (parenthesized_expression "(uVar4 != 2)" ( (binary_expression "uVar4 != 2" identifier != number_literal) )) (compound_statement "{\n    if (do_display == 0) {\n      return 1;\n    }\n    pcVar7 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar7,(ulong)uVar4);\n    goto LAB_00121928;\n  }" { (if_statement "if (do_display == 0) {\n      return 1;\n    }" if (parenthesized_expression "(do_display == 0)" ( (binary_expression "do_display == 0" identifier == number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Unsupported version (%d)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Unsupported version (%d)\n",5)" identifier (argument_list "(0,"  Unsupported version (%d)\n",5)" ( number_literal , (string_literal ""  Unsupported version (%d)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7,(ulong)uVar4);" (call_expression "printf(pcVar7,(ulong)uVar4)" identifier (argument_list "(pcVar7,(ulong)uVar4)" ( identifier , (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (goto_statement "goto LAB_00121928;" goto statement_identifier ;) })) (expression_statement "uVar4 = (uint)local_128 * 4;" (assignment_expression "uVar4 = (uint)local_128 * 4" identifier = (binary_expression "(uint)local_128 * 4" (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (expression_statement "uVar8 = (ulong)uVar4;" (assignment_expression "uVar8 = (ulong)uVar4" identifier = (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar15 = (uchar *)((long)&pdVar2->uncompressed_name + uVar8);" (assignment_expression "puVar15 = (uchar *)((long)&pdVar2->uncompressed_name + uVar8)" identifier = (cast_expression "(uchar *)((long)&pdVar2->uncompressed_name + uVar8)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar2->uncompressed_name + uVar8)" ( (binary_expression "(long)&pdVar2->uncompressed_name + uVar8" (cast_expression "(long)&pdVar2->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar2->uncompressed_name" & (field_expression "pdVar2->uncompressed_name" identifier -> field_identifier))) + identifier) )))) ;) (if_statement "if ((CARRY8((ulong)pdVar2,uVar8)) || ((uint)local_128 != (uint)((long)uVar8 >> 2))) {\n    pcVar7 = (char *)dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(pcVar7,local_128);\n    return 0;\n  }" if (parenthesized_expression "((CARRY8((ulong)pdVar2,uVar8)) || ((uint)local_128 != (uint)((long)uVar8 >> 2)))" ( (binary_expression "(CARRY8((ulong)pdVar2,uVar8)) || ((uint)local_128 != (uint)((long)uVar8 >> 2))" (parenthesized_expression "(CARRY8((ulong)pdVar2,uVar8))" ( (call_expression "CARRY8((ulong)pdVar2,uVar8)" identifier (argument_list "((ulong)pdVar2,uVar8)" ( (cast_expression "(ulong)pdVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) )) || (parenthesized_expression "((uint)local_128 != (uint)((long)uVar8 >> 2))" ( (binary_expression "(uint)local_128 != (uint)((long)uVar8 >> 2)" (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier) != (call_expression "(uint)((long)uVar8 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((long)uVar8 >> 2)" ( (binary_expression "(long)uVar8 >> 2" (cast_expression "(long)uVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal) )))) ))) )) (compound_statement "{\n    pcVar7 = (char *)dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(pcVar7,local_128);\n    return 0;\n  }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"Overlarge number of columns: %x\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Overlarge number of columns: %x\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Overlarge number of columns: %x\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Overlarge number of columns: %x\n",5)" identifier (argument_list "(0,"Overlarge number of columns: %x\n",5)" ( number_literal , (string_literal ""Overlarge number of columns: %x\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,local_128);" (call_expression "warn(pcVar7,local_128)" identifier (argument_list "(pcVar7,local_128)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pbVar24 = (byte *)section->name;" (assignment_expression "pbVar24 = (byte *)section->name" identifier = (cast_expression "(byte *)section->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section->name" identifier -> field_identifier))) ;) (expression_statement "bVar28 = pdVar1 < (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2);" (assignment_expression "bVar28 = pdVar1 < (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2)" identifier = (binary_expression "pdVar1 < (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2)" identifier < (cast_expression "(dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2)" ( (binary_expression "puVar15 + (ulong)(uVar4 * (uint)local_100) * 2" identifier + (binary_expression "(ulong)(uVar4 * (uint)local_100) * 2" (call_expression "(ulong)(uVar4 * (uint)local_100)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 * (uint)local_100)" ( (binary_expression "uVar4 * (uint)local_100" identifier * (cast_expression "(uint)local_100" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) * number_literal)) ))))) ;) (expression_statement "bVar30 = pdVar1 == (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2);" (assignment_expression "bVar30 = pdVar1 == (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2)" identifier = (binary_expression "pdVar1 == (dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2)" identifier == (cast_expression "(dwarf_section *)(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + (ulong)(uVar4 * (uint)local_100) * 2)" ( (binary_expression "puVar15 + (ulong)(uVar4 * (uint)local_100) * 2" identifier + (binary_expression "(ulong)(uVar4 * (uint)local_100) * 2" (call_expression "(ulong)(uVar4 * (uint)local_100)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 * (uint)local_100)" ( (binary_expression "uVar4 * (uint)local_100" identifier * (cast_expression "(uint)local_100" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) * number_literal)) ))))) ;) (if_statement "if (bVar28) {\n    pcVar7 = (char *)dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(pcVar7,pbVar24);\n    return 0;\n  }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n    pcVar7 = (char *)dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(pcVar7,pbVar24);\n    return 0;\n  }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"Section %s too small for offset and size tables\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Section %s too small for offset and size tables\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Section %s too small for offset and size tables\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Section %s too small for offset and size tables\n",5)" identifier (argument_list "(0,"Section %s too small for offset and size tables\n",5)" ( number_literal , (string_literal ""Section %s too small for offset and size tables\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,pbVar24);" (call_expression "warn(pcVar7,pbVar24)" identifier (argument_list "(pcVar7,pbVar24)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pdVar12 = (dwarf_section *)0x10;" (assignment_expression "pdVar12 = (dwarf_section *)0x10" identifier = (cast_expression "(dwarf_section *)0x10" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar25 = (byte *)".debug_tu_index";" (assignment_expression "pbVar25 = (byte *)".debug_tu_index"" identifier = (cast_expression "(byte *)".debug_tu_index"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_tu_index"" " string_content "))) ;) (do_statement "do {\n    if (pdVar12 == (dwarf_section *)0x0) break;\n    pdVar12 = (dwarf_section *)((long)&pdVar12[-1].user_data + 7);\n    bVar28 = *pbVar24 < *pbVar25;\n    bVar30 = *pbVar24 == *pbVar25;\n    pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n    pbVar25 = pbVar25 + (ulong)bVar31 * -2 + 1;\n  } while (bVar30);" do (compound_statement "{\n    if (pdVar12 == (dwarf_section *)0x0) break;\n    pdVar12 = (dwarf_section *)((long)&pdVar12[-1].user_data + 7);\n    bVar28 = *pbVar24 < *pbVar25;\n    bVar30 = *pbVar24 == *pbVar25;\n    pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n    pbVar25 = pbVar25 + (ulong)bVar31 * -2 + 1;\n  }" { (if_statement "if (pdVar12 == (dwarf_section *)0x0) break;" if (parenthesized_expression "(pdVar12 == (dwarf_section *)0x0)" ( (binary_expression "pdVar12 == (dwarf_section *)0x0" identifier == (cast_expression "(dwarf_section *)0x0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pdVar12 = (dwarf_section *)((long)&pdVar12[-1].user_data + 7);" (assignment_expression "pdVar12 = (dwarf_section *)((long)&pdVar12[-1].user_data + 7)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar12[-1].user_data + 7)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar12[-1].user_data + 7)" ( (binary_expression "(long)&pdVar12[-1].user_data + 7" (cast_expression "(long)&pdVar12[-1].user_data" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar12[-1].user_data" & (field_expression "pdVar12[-1].user_data" (subscript_expression "pdVar12[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "bVar28 = *pbVar24 < *pbVar25;" (assignment_expression "bVar28 = *pbVar24 < *pbVar25" identifier = (binary_expression "*pbVar24 < *pbVar25" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "bVar30 = *pbVar24 == *pbVar25;" (assignment_expression "bVar30 = *pbVar24 == *pbVar25" identifier = (binary_expression "*pbVar24 == *pbVar25" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar25" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar25 = pbVar25 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar25 = pbVar25 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar25 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar25 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (expression_statement "bVar30 = !bVar28 && !bVar30;" (assignment_expression "bVar30 = !bVar28 && !bVar30" identifier = (binary_expression "!bVar28 && !bVar30" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar30" ! identifier))) ;) (if_statement "if (do_display == 0) {\n    if (bVar30 == bVar28) {\n      tu_count = (uint)local_100;\n      tu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = tu_sets;\n    }\n    else {\n      cu_count = (uint)local_100;\n      cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = cu_sets;\n    }\n    if (bVar29) {\nLAB_00121c31:\n      uVar26 = 0;\n      ppcVar13 = local_e8;\n      pdVar14 = pdVar20;\n      do {\n        pdVar12 = (dwarf_section *)(ppcVar13 + 1);\n        if (pdVar1 < pdVar12) {\n          signature_high = 0;\n          signature_low = 0;\n        }\n        else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;\n        uVar26 = uVar26 + 1;\n        ppcVar13 = (char **)pdVar12;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_120);\n      if (do_display != 0) goto LAB_001224d4;\n    }\n    if ((uint)local_128 != 0) {\nLAB_001220c6:\n      uVar26 = 0;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }\n        else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (do_display != 0) {\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }\n        uVar26 = uVar26 + 1;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_128);\n      if (do_display != 0) goto LAB_0012253d;\n    }\n    if (!bVar29) {\n      return 1;\n    }\n  }\n  else {\n    pcVar7 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) {\n      pdVar12 = pdVar2;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        pcVar7 = get_DW_SECT_short_name(uVar26);\n        printf(" %8s",pcVar7);\n        pdVar14 = pdVar22;\n      } while ((dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)\n      ;\n    }\n    putchar(10);\n    local_b0 = (cu_tu_set *)0x0;\n    if (bVar29) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar7 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar29) goto LAB_00121928;\n  }" if (parenthesized_expression "(do_display == 0)" ( (binary_expression "do_display == 0" identifier == number_literal) )) (compound_statement "{\n    if (bVar30 == bVar28) {\n      tu_count = (uint)local_100;\n      tu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = tu_sets;\n    }\n    else {\n      cu_count = (uint)local_100;\n      cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = cu_sets;\n    }\n    if (bVar29) {\nLAB_00121c31:\n      uVar26 = 0;\n      ppcVar13 = local_e8;\n      pdVar14 = pdVar20;\n      do {\n        pdVar12 = (dwarf_section *)(ppcVar13 + 1);\n        if (pdVar1 < pdVar12) {\n          signature_high = 0;\n          signature_low = 0;\n        }\n        else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;\n        uVar26 = uVar26 + 1;\n        ppcVar13 = (char **)pdVar12;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_120);\n      if (do_display != 0) goto LAB_001224d4;\n    }\n    if ((uint)local_128 != 0) {\nLAB_001220c6:\n      uVar26 = 0;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }\n        else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (do_display != 0) {\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }\n        uVar26 = uVar26 + 1;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_128);\n      if (do_display != 0) goto LAB_0012253d;\n    }\n    if (!bVar29) {\n      return 1;\n    }\n  }" { (if_statement "if (bVar30 == bVar28) {\n      tu_count = (uint)local_100;\n      tu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = tu_sets;\n    }\n    else {\n      cu_count = (uint)local_100;\n      cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = cu_sets;\n    }" if (parenthesized_expression "(bVar30 == bVar28)" ( (binary_expression "bVar30 == bVar28" identifier == identifier) )) (compound_statement "{\n      tu_count = (uint)local_100;\n      tu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = tu_sets;\n    }" { (expression_statement "tu_count = (uint)local_100;" (assignment_expression "tu_count = (uint)local_100" identifier = (cast_expression "(uint)local_100" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "tu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);" (assignment_expression "tu_sets = (cu_tu_set *)xcalloc2(local_100,0x88)" identifier = (cast_expression "(cu_tu_set *)xcalloc2(local_100,0x88)" ( (type_descriptor "cu_tu_set *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xcalloc2(local_100,0x88)" identifier (argument_list "(local_100,0x88)" ( identifier , number_literal ))))) ;) (expression_statement "local_b0 = tu_sets;" (assignment_expression "local_b0 = tu_sets" identifier = identifier) ;) }) (else_clause "else {\n      cu_count = (uint)local_100;\n      cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = cu_sets;\n    }" else (compound_statement "{\n      cu_count = (uint)local_100;\n      cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);\n      local_b0 = cu_sets;\n    }" { (expression_statement "cu_count = (uint)local_100;" (assignment_expression "cu_count = (uint)local_100" identifier = (cast_expression "(uint)local_100" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88);" (assignment_expression "cu_sets = (cu_tu_set *)xcalloc2(local_100,0x88)" identifier = (cast_expression "(cu_tu_set *)xcalloc2(local_100,0x88)" ( (type_descriptor "cu_tu_set *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xcalloc2(local_100,0x88)" identifier (argument_list "(local_100,0x88)" ( identifier , number_literal ))))) ;) (expression_statement "local_b0 = cu_sets;" (assignment_expression "local_b0 = cu_sets" identifier = identifier) ;) }))) (if_statement "if (bVar29) {\nLAB_00121c31:\n      uVar26 = 0;\n      ppcVar13 = local_e8;\n      pdVar14 = pdVar20;\n      do {\n        pdVar12 = (dwarf_section *)(ppcVar13 + 1);\n        if (pdVar1 < pdVar12) {\n          signature_high = 0;\n          signature_low = 0;\n        }\n        else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;\n        uVar26 = uVar26 + 1;\n        ppcVar13 = (char **)pdVar12;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_120);\n      if (do_display != 0) goto LAB_001224d4;\n    }" if (parenthesized_expression "(bVar29)" ( identifier )) (compound_statement "{\nLAB_00121c31:\n      uVar26 = 0;\n      ppcVar13 = local_e8;\n      pdVar14 = pdVar20;\n      do {\n        pdVar12 = (dwarf_section *)(ppcVar13 + 1);\n        if (pdVar1 < pdVar12) {\n          signature_high = 0;\n          signature_low = 0;\n        }\n        else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;\n        uVar26 = uVar26 + 1;\n        ppcVar13 = (char **)pdVar12;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_120);\n      if (do_display != 0) goto LAB_001224d4;\n    }" { (labeled_statement "LAB_00121c31:\n      uVar26 = 0;" statement_identifier : (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;)) (expression_statement "ppcVar13 = local_e8;" (assignment_expression "ppcVar13 = local_e8" identifier = identifier) ;) (expression_statement "pdVar14 = pdVar20;" (assignment_expression "pdVar14 = pdVar20" identifier = identifier) ;) (do_statement "do {\n        pdVar12 = (dwarf_section *)(ppcVar13 + 1);\n        if (pdVar1 < pdVar12) {\n          signature_high = 0;\n          signature_low = 0;\n        }\n        else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;\n        uVar26 = uVar26 + 1;\n        ppcVar13 = (char **)pdVar12;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_120);" do (compound_statement "{\n        pdVar12 = (dwarf_section *)(ppcVar13 + 1);\n        if (pdVar1 < pdVar12) {\n          signature_high = 0;\n          signature_low = 0;\n        }\n        else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;\n        uVar26 = uVar26 + 1;\n        ppcVar13 = (char **)pdVar12;\n        pdVar14 = pdVar22;\n      }" { (expression_statement "pdVar12 = (dwarf_section *)(ppcVar13 + 1);" (assignment_expression "pdVar12 = (dwarf_section *)(ppcVar13 + 1)" identifier = (cast_expression "(dwarf_section *)(ppcVar13 + 1)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar13 + 1)" ( (binary_expression "ppcVar13 + 1" identifier + number_literal) )))) ;) (if_statement "if (pdVar1 < pdVar12) {\n          signature_high = 0;\n          signature_low = 0;\n        }\n        else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }" if (parenthesized_expression "(pdVar1 < pdVar12)" ( (binary_expression "pdVar1 < pdVar12" identifier < identifier) )) (compound_statement "{\n          signature_high = 0;\n          signature_low = 0;\n        }" { (expression_statement "signature_high = 0;" (assignment_expression "signature_high = 0" identifier = number_literal) ;) (expression_statement "signature_low = 0;" (assignment_expression "signature_low = 0" identifier = number_literal) ;) }) (else_clause "else {\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }" else (compound_statement "{\n          byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);\n        }" { (expression_statement "byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low);" (call_expression "byte_get_64((uchar *)ppcVar13,&signature_high,&signature_low)" identifier (argument_list "((uchar *)ppcVar13,&signature_high,&signature_low)" ( (cast_expression "(uchar *)ppcVar13" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&signature_high" & identifier) , (pointer_expression "&signature_low" & identifier) ))) ;) }))) (expression_statement "pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);" (assignment_expression "pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar14->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar14->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar14->uncompressed_name + 4" (cast_expression "(long)&pdVar14->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar14->uncompressed_name" & (field_expression "pdVar14->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;" if (parenthesized_expression "(pdVar22 < pdVar1)" ( (binary_expression "pdVar22 < pdVar1" identifier < identifier) )) (compound_statement "{\n          iVar5 = 4;\nLAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n          if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00121cdf:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar14,iVar5)" identifier = (call_expression "(*byte_get)((uchar *)pdVar14,iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar14,iVar5)" ( (cast_expression "(uchar *)pdVar14" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "uVar27 = (uint)eVar6;" (assignment_expression "uVar27 = (uint)eVar6" identifier = (cast_expression "(uint)eVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar27 != 0) {\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n            if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }\n            if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }" { (if_statement "if ((uint)local_100 < uVar27) {\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }" if (parenthesized_expression "((uint)local_100 < uVar27)" ( (binary_expression "(uint)local_100 < uVar27" (cast_expression "(uint)local_100" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) )) (compound_statement "{\n              pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);\n              warn(pcVar7,eVar6 & 0xffffffff,local_100);\n              return 0;\n            }" { (expression_statement "pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5)" identifier (argument_list "(0,\n                                         "Row index (%u) is larger than number of used entries (%u)\n"\n                                         ,5)" ( number_literal , (string_literal ""Row index (%u) is larger than number of used entries (%u)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,eVar6 & 0xffffffff,local_100);" (call_expression "warn(pcVar7,eVar6 & 0xffffffff,local_100)" identifier (argument_list "(pcVar7,eVar6 & 0xffffffff,local_100)" ( identifier , (binary_expression "eVar6 & 0xffffffff" identifier & number_literal) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (do_display == 0) {\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" if (parenthesized_expression "(do_display == 0)" ( (binary_expression "do_display == 0" identifier == number_literal) )) (compound_statement "{\n              if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              local_f0 = local_b0 + (uVar27 - 1);\n              local_f0->signature = (uint64_t)*ppcVar13;\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }\n              if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }\n            }" { (if_statement "if (pdVar1 <= pdVar12) {\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }" if (parenthesized_expression "(pdVar1 <= pdVar12)" ( (binary_expression "pdVar1 <= pdVar12" identifier <= identifier) )) (compound_statement "{\n                pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);\n                warn(pcVar7,ppcVar13);\n                return 0;\n              }" { (expression_statement "pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5)" identifier (argument_list "(0,\n                                           "Signature (%p) extends beyond end of space in section\n"\n                                           ,5)" ( number_literal , (string_literal ""Signature (%p) extends beyond end of space in section\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,ppcVar13);" (call_expression "warn(pcVar7,ppcVar13)" identifier (argument_list "(pcVar7,ppcVar13)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);" (assignment_expression "uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4)" identifier = (call_expression "(ulong)((uVar27 + 0x3fffffff) * uVar4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar27 + 0x3fffffff) * uVar4)" ( (binary_expression "(uVar27 + 0x3fffffff) * uVar4" (parenthesized_expression "(uVar27 + 0x3fffffff)" ( (binary_expression "uVar27 + 0x3fffffff" identifier + number_literal) )) * identifier) )))) ;) (expression_statement "local_f0 = local_b0 + (uVar27 - 1);" (assignment_expression "local_f0 = local_b0 + (uVar27 - 1)" identifier = (binary_expression "local_b0 + (uVar27 - 1)" identifier + (parenthesized_expression "(uVar27 - 1)" ( (binary_expression "uVar27 - 1" identifier - number_literal) )))) ;) (expression_statement "local_f0->signature = (uint64_t)*ppcVar13;" (assignment_expression "local_f0->signature = (uint64_t)*ppcVar13" (field_expression "local_f0->signature" identifier -> field_identifier) = (cast_expression "(uint64_t)*ppcVar13" ( (type_descriptor "uint64_t" primitive_type) ) (pointer_expression "*ppcVar13" * identifier))) ;) (expression_statement "pdVar14 = (dwarf_section *)(puVar15 + uVar8);" (assignment_expression "pdVar14 = (dwarf_section *)(puVar15 + uVar8)" identifier = (cast_expression "(dwarf_section *)(puVar15 + uVar8)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + uVar8)" ( (binary_expression "puVar15 + uVar8" identifier + identifier) )))) ;) (if_statement "if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) {\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }" if (parenthesized_expression "((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14))" ( (binary_expression "(CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)" (parenthesized_expression "(CARRY8(uVar8,(ulong)puVar15))" ( (call_expression "CARRY8(uVar8,(ulong)puVar15)" identifier (argument_list "(uVar8,(ulong)puVar15)" ( identifier , (cast_expression "(ulong)puVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) )) || (parenthesized_expression "(pdVar1 < pdVar14)" ( (binary_expression "pdVar1 < pdVar14" identifier < identifier) ))) )) (compound_statement "{\nLAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);\n                warn(pcVar7,eVar6 & 0xffffffff,local_128);\n                return 0;\n              }" { (labeled_statement "LAB_00122050:\n                pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5)" identifier (argument_list "(0,\n                                           "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                           ,5)" ( number_literal , (string_literal ""Row index (%u) * num columns (%u) > space remaining in section\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "warn(pcVar7,eVar6 & 0xffffffff,local_128);" (call_expression "warn(pcVar7,eVar6 & 0xffffffff,local_128)" identifier (argument_list "(pcVar7,eVar6 & 0xffffffff,local_128)" ( identifier , (binary_expression "eVar6 & 0xffffffff" identifier & number_literal) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if ((uint)local_128 != 0) {\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }" if (parenthesized_expression "((uint)local_128 != 0)" ( (binary_expression "(uint)local_128 != 0" (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier) != number_literal) )) (compound_statement "{\nLAB_00121d72:\n                uVar27 = 0;\n                pdVar19 = pdVar2;\n                do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);\n                if (do_display != 0) goto LAB_00121e1f;\n              }" { (labeled_statement "LAB_00121d72:\n                uVar27 = 0;" statement_identifier : (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;)) (expression_statement "pdVar19 = pdVar2;" (assignment_expression "pdVar19 = pdVar2" identifier = identifier) ;) (do_statement "do {\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                } while (uVar27 < (uint)local_128);" do (compound_statement "{\n                  pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n                  if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }\nLAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);\n                  uVar27 = uVar27 + 1;\n                  pdVar14 = pdVar21;\n                }" { (expression_statement "pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);" (assignment_expression "pdVar21 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar14->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar14->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar14->uncompressed_name + 4" (cast_expression "(long)&pdVar14->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar14->uncompressed_name" & (field_expression "pdVar14->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (pdVar21 < pdVar1) {\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }\n                  else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }" if (parenthesized_expression "(pdVar21 < pdVar1)" ( (binary_expression "pdVar21 < pdVar1" identifier < identifier) )) (compound_statement "{\n                    iVar5 = 4;\nLAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n                    dVar16 = eVar6 & 0xffffffff;\n                    if (do_display == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",dVar16);\n                  }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00121e65:\n                    eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar14,iVar5)" identifier = (call_expression "(*byte_get)((uchar *)pdVar14,iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar14,iVar5)" ( (cast_expression "(uchar *)pdVar14" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "dVar16 = eVar6 & 0xffffffff;" (assignment_expression "dVar16 = eVar6 & 0xffffffff" identifier = (binary_expression "eVar6 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (do_display == 0) goto LAB_00121dca;" if (parenthesized_expression "(do_display == 0)" ( (binary_expression "do_display == 0" identifier == number_literal) )) (goto_statement "goto LAB_00121dca;" goto statement_identifier ;)) (labeled_statement "LAB_00121e76:\n                    printf(" %8d",dVar16);" statement_identifier : (expression_statement "printf(" %8d",dVar16);" (call_expression "printf(" %8d",dVar16)" identifier (argument_list "(" %8d",dVar16)" ( (string_literal "" %8d"" " string_content ") , identifier ))) ;)) }) (else_clause "else {\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }" else (compound_statement "{\n                    dVar16 = 0;\n                    if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (do_display != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }\n                    local_f0->section_offsets[uVar8] = dVar16;\n                  }" { (expression_statement "dVar16 = 0;" (assignment_expression "dVar16 = 0" identifier = number_literal) ;) (if_statement "if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n                    goto LAB_00121e65;" if (parenthesized_expression "((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))" ( (binary_expression "(pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8)" (parenthesized_expression "(pdVar14 < pdVar1)" ( (binary_expression "pdVar14 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8)" ( (comma_expression "iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8" (assignment_expression "iVar5 = iVar3 - (int)pdVar14" identifier = (binary_expression "iVar3 - (int)pdVar14" identifier - (cast_expression "(int)pdVar14" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar5 - 1U < 8" (binary_expression "iVar5 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00121e65;" goto statement_identifier ;)) (if_statement "if (do_display != 0) goto LAB_00121e76;" if (parenthesized_expression "(do_display != 0)" ( (binary_expression "do_display != 0" identifier != number_literal) )) (goto_statement "goto LAB_00121e76;" goto statement_identifier ;)) (labeled_statement "LAB_00121dca:\n                    if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }" statement_identifier : (if_statement "if ((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1) {\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }" if (parenthesized_expression "((dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1)" ( (binary_expression "(dwarf_section *)((long)&pdVar19->uncompressed_name + 4) < pdVar1" (cast_expression "(dwarf_section *)((long)&pdVar19->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar19->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar19->uncompressed_name + 4" (cast_expression "(long)&pdVar19->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar19->uncompressed_name" & (field_expression "pdVar19->uncompressed_name" identifier -> field_identifier))) + number_literal) ))) < identifier) )) (compound_statement "{\n                      iVar5 = 4;\nLAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);\n                      uVar8 = eVar6 & 0xffffffff;\n                      if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }\n                    }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00121e95:\n                      eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar19,iVar5);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar19,iVar5)" identifier = (call_expression "(*byte_get)((uchar *)pdVar19,iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar19,iVar5)" ( (cast_expression "(uchar *)pdVar19" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "uVar8 = eVar6 & 0xffffffff;" (assignment_expression "uVar8 = eVar6 & 0xffffffff" identifier = (binary_expression "eVar6 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (7 < (uint)eVar6) {\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }" if (parenthesized_expression "(7 < (uint)eVar6)" ( (binary_expression "7 < (uint)eVar6" number_literal < (cast_expression "(uint)eVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n                        pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);\n                        warn(pcVar7,eVar6 & 0xffffffff);\n                        goto LAB_00121dfa;\n                      }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5)" identifier = (cast_expression "(char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5)" identifier (argument_list "(0,"Overlarge Dwarf section index detected: %u\n",\n                                                   5)" ( number_literal , (string_literal ""Overlarge Dwarf section index detected: %u\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,eVar6 & 0xffffffff);" (call_expression "warn(pcVar7,eVar6 & 0xffffffff)" identifier (argument_list "(pcVar7,eVar6 & 0xffffffff)" ( identifier , (binary_expression "eVar6 & 0xffffffff" identifier & number_literal) ))) ;) (goto_statement "goto LAB_00121dfa;" goto statement_identifier ;) })) }) (else_clause "else {\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }" else (compound_statement "{\n                      if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar8 = 0;\n                    }" { (if_statement "if ((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))\n                      goto LAB_00121e95;" if (parenthesized_expression "((pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8))" ( (binary_expression "(pdVar19 < pdVar1) && (iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8)" (parenthesized_expression "(pdVar19 < pdVar1)" ( (binary_expression "pdVar19 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8)" ( (comma_expression "iVar5 = iVar3 - (int)pdVar19, iVar5 - 1U < 8" (assignment_expression "iVar5 = iVar3 - (int)pdVar19" identifier = (binary_expression "iVar3 - (int)pdVar19" identifier - (cast_expression "(int)pdVar19" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar5 - 1U < 8" (binary_expression "iVar5 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00121e95;" goto statement_identifier ;)) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })))) (expression_statement "local_f0->section_offsets[uVar8] = dVar16;" (assignment_expression "local_f0->section_offsets[uVar8] = dVar16" (subscript_expression "local_f0->section_offsets[uVar8]" (field_expression "local_f0->section_offsets" identifier -> field_identifier) [ identifier ]) = identifier) ;) }))) (labeled_statement "LAB_00121dfa:\n                  pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);" statement_identifier : (expression_statement "pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4);" (assignment_expression "pdVar19 = (dwarf_section *)((long)&pdVar19->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar19->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar19->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar19->uncompressed_name + 4" (cast_expression "(long)&pdVar19->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar19->uncompressed_name" & (field_expression "pdVar19->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;)) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "pdVar14 = pdVar21;" (assignment_expression "pdVar14 = pdVar21" identifier = identifier) ;) }) while (parenthesized_expression "(uVar27 < (uint)local_128)" ( (binary_expression "uVar27 < (uint)local_128" identifier < (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) (if_statement "if (do_display != 0) goto LAB_00121e1f;" if (parenthesized_expression "(do_display != 0)" ( (binary_expression "do_display != 0" identifier != number_literal) )) (goto_statement "goto LAB_00121e1f;" goto statement_identifier ;)) })) }) (else_clause "else {\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" else (compound_statement "{\n              uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);\n              pdVar14 = (dwarf_section *)(puVar15 + uVar8);\n              if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;\n              pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);\n              pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar11,(ulong)uVar26,pcVar7);\n              if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" { (expression_statement "uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4);" (assignment_expression "uVar8 = (ulong)((uVar27 + 0x3fffffff) * uVar4)" identifier = (call_expression "(ulong)((uVar27 + 0x3fffffff) * uVar4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar27 + 0x3fffffff) * uVar4)" ( (binary_expression "(uVar27 + 0x3fffffff) * uVar4" (parenthesized_expression "(uVar27 + 0x3fffffff)" ( (binary_expression "uVar27 + 0x3fffffff" identifier + number_literal) )) * identifier) )))) ;) (expression_statement "pdVar14 = (dwarf_section *)(puVar15 + uVar8);" (assignment_expression "pdVar14 = (dwarf_section *)(puVar15 + uVar8)" identifier = (cast_expression "(dwarf_section *)(puVar15 + uVar8)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + uVar8)" ( (binary_expression "puVar15 + uVar8" identifier + identifier) )))) ;) (if_statement "if ((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)) goto LAB_00122050;" if (parenthesized_expression "((CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14))" ( (binary_expression "(CARRY8(uVar8,(ulong)puVar15)) || (pdVar1 < pdVar14)" (parenthesized_expression "(CARRY8(uVar8,(ulong)puVar15))" ( (call_expression "CARRY8(uVar8,(ulong)puVar15)" identifier (argument_list "(uVar8,(ulong)puVar15)" ( identifier , (cast_expression "(ulong)puVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) )) || (parenthesized_expression "(pdVar1 < pdVar14)" ( (binary_expression "pdVar1 < pdVar14" identifier < identifier) ))) )) (goto_statement "goto LAB_00122050;" goto statement_identifier ;)) (expression_statement "pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14);" (assignment_expression "pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14)" identifier = (call_expression "dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar14)" identifier (argument_list "(signature_high,signature_low,buf,(uint)pdVar14)" ( identifier , identifier , identifier , (cast_expression "(uint)pdVar14" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  [%3d] 0x%s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  [%3d] 0x%s",5)" identifier (argument_list "(0,"  [%3d] 0x%s",5)" ( number_literal , (string_literal ""  [%3d] 0x%s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar11,(ulong)uVar26,pcVar7);" (call_expression "printf(pcVar11,(ulong)uVar26,pcVar7)" identifier (argument_list "(pcVar11,(ulong)uVar26,pcVar7)" ( identifier , (cast_expression "(ulong)uVar26" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) (if_statement "if ((uint)local_128 != 0) {\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }" if (parenthesized_expression "((uint)local_128 != 0)" ( (binary_expression "(uint)local_128 != 0" (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier) != number_literal) )) (compound_statement "{\n                local_f0 = local_b0 + (uVar27 - 1);\n                goto LAB_00121d72;\n              }" { (expression_statement "local_f0 = local_b0 + (uVar27 - 1);" (assignment_expression "local_f0 = local_b0 + (uVar27 - 1)" identifier = (binary_expression "local_b0 + (uVar27 - 1)" identifier + (parenthesized_expression "(uVar27 - 1)" ( (binary_expression "uVar27 - 1" identifier - number_literal) )))) ;) (goto_statement "goto LAB_00121d72;" goto statement_identifier ;) })) (labeled_statement "LAB_00121e1f:\n              putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) }))) })) }) (else_clause "else if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;" else (if_statement "if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n        goto LAB_00121cdf;" if (parenthesized_expression "((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))" ( (binary_expression "(pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8)" (parenthesized_expression "(pdVar14 < pdVar1)" ( (binary_expression "pdVar14 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8)" ( (comma_expression "iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8" (assignment_expression "iVar5 = iVar3 - (int)pdVar14" identifier = (binary_expression "iVar3 - (int)pdVar14" identifier - (cast_expression "(int)pdVar14" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar5 - 1U < 8" (binary_expression "iVar5 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00121cdf;" goto statement_identifier ;)))) (expression_statement "uVar26 = uVar26 + 1;" (assignment_expression "uVar26 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "ppcVar13 = (char **)pdVar12;" (assignment_expression "ppcVar13 = (char **)pdVar12" identifier = (cast_expression "(char **)pdVar12" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pdVar14 = pdVar22;" (assignment_expression "pdVar14 = pdVar22" identifier = identifier) ;) }) while (parenthesized_expression "(uVar26 < (uint)local_120)" ( (binary_expression "uVar26 < (uint)local_120" identifier < (cast_expression "(uint)local_120" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) (if_statement "if (do_display != 0) goto LAB_001224d4;" if (parenthesized_expression "(do_display != 0)" ( (binary_expression "do_display != 0" identifier != number_literal) )) (goto_statement "goto LAB_001224d4;" goto statement_identifier ;)) })) (if_statement "if ((uint)local_128 != 0) {\nLAB_001220c6:\n      uVar26 = 0;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }\n        else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (do_display != 0) {\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }\n        uVar26 = uVar26 + 1;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_128);\n      if (do_display != 0) goto LAB_0012253d;\n    }" if (parenthesized_expression "((uint)local_128 != 0)" ( (binary_expression "(uint)local_128 != 0" (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier) != number_literal) )) (compound_statement "{\nLAB_001220c6:\n      uVar26 = 0;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }\n        else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (do_display != 0) {\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }\n        uVar26 = uVar26 + 1;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_128);\n      if (do_display != 0) goto LAB_0012253d;\n    }" { (labeled_statement "LAB_001220c6:\n      uVar26 = 0;" statement_identifier : (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;)) (expression_statement "pdVar14 = pdVar2;" (assignment_expression "pdVar14 = pdVar2" identifier = identifier) ;) (do_statement "do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }\n        else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (do_display != 0) {\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }\n        uVar26 = uVar26 + 1;\n        pdVar14 = pdVar22;\n      } while (uVar26 < (uint)local_128);" do (compound_statement "{\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }\n        else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (do_display != 0) {\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }\n        uVar26 = uVar26 + 1;\n        pdVar14 = pdVar22;\n      }" { (expression_statement "pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);" (assignment_expression "pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar14->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar14->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar14->uncompressed_name + 4" (cast_expression "(long)&pdVar14->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar14->uncompressed_name" & (field_expression "pdVar14->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }\n        else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }" if (parenthesized_expression "(pdVar22 < pdVar1)" ( (binary_expression "pdVar22 < pdVar1" identifier < identifier) )) (compound_statement "{\n          iVar5 = 4;\nLAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar27 = (uint)eVar6;\n        }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0012210c:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar14,iVar5)" identifier = (call_expression "(*byte_get)((uchar *)pdVar14,iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar14,iVar5)" ( (cast_expression "(uchar *)pdVar14" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "uVar27 = (uint)eVar6;" (assignment_expression "uVar27 = (uint)eVar6" identifier = (cast_expression "(uint)eVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }" else (compound_statement "{\n          uVar27 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;\n        }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (if_statement "if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_0012210c;" if (parenthesized_expression "((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))" ( (binary_expression "(pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8)" (parenthesized_expression "(pdVar14 < pdVar1)" ( (binary_expression "pdVar14 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8)" ( (comma_expression "iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8" (assignment_expression "iVar5 = iVar3 - (int)pdVar14" identifier = (binary_expression "iVar3 - (int)pdVar14" identifier - (cast_expression "(int)pdVar14" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar5 - 1U < 8" (binary_expression "iVar5 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_0012210c;" goto statement_identifier ;)) }))) (if_statement "if (do_display != 0) {\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }" if (parenthesized_expression "(do_display != 0)" ( (binary_expression "do_display != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar7 = get_DW_SECT_short_name(uVar27);\n          printf(" %8s",pcVar7);\n        }" { (expression_statement "pcVar7 = get_DW_SECT_short_name(uVar27);" (assignment_expression "pcVar7 = get_DW_SECT_short_name(uVar27)" identifier = (call_expression "get_DW_SECT_short_name(uVar27)" identifier (argument_list "(uVar27)" ( identifier )))) ;) (expression_statement "printf(" %8s",pcVar7);" (call_expression "printf(" %8s",pcVar7)" identifier (argument_list "(" %8s",pcVar7)" ( (string_literal "" %8s"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar26 = uVar26 + 1;" (assignment_expression "uVar26 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "pdVar14 = pdVar22;" (assignment_expression "pdVar14 = pdVar22" identifier = identifier) ;) }) while (parenthesized_expression "(uVar26 < (uint)local_128)" ( (binary_expression "uVar26 < (uint)local_128" identifier < (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) (if_statement "if (do_display != 0) goto LAB_0012253d;" if (parenthesized_expression "(do_display != 0)" ( (binary_expression "do_display != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012253d;" goto statement_identifier ;)) })) (if_statement "if (!bVar29) {\n      return 1;\n    }" if (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n    pcVar7 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) {\n      pdVar12 = pdVar2;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        pcVar7 = get_DW_SECT_short_name(uVar26);\n        printf(" %8s",pcVar7);\n        pdVar14 = pdVar22;\n      } while ((dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)\n      ;\n    }\n    putchar(10);\n    local_b0 = (cu_tu_set *)0x0;\n    if (bVar29) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar7 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar29) goto LAB_00121928;\n  }" else (compound_statement "{\n    pcVar7 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) {\n      pdVar12 = pdVar2;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        pcVar7 = get_DW_SECT_short_name(uVar26);\n        printf(" %8s",pcVar7);\n        pdVar14 = pdVar22;\n      } while ((dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)\n      ;\n    }\n    putchar(10);\n    local_b0 = (cu_tu_set *)0x0;\n    if (bVar29) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar7 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar7);\n    if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar10);\n    if ((uint)local_128 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar29) goto LAB_00121928;\n  }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"  Offset table\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Offset table\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset table\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset table\n",5)" identifier (argument_list "(0,"  Offset table\n",5)" ( number_literal , (string_literal ""  Offset table\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (if_statement "if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }" if (parenthesized_expression "(bVar30 == bVar28)" ( (binary_expression "bVar30 == bVar28" identifier == identifier) )) (compound_statement "{\n      uVar10 = dcgettext(0,"signature",5);\n    }" { (expression_statement "uVar10 = dcgettext(0,"signature",5);" (assignment_expression "uVar10 = dcgettext(0,"signature",5)" identifier = (call_expression "dcgettext(0,"signature",5)" identifier (argument_list "(0,"signature",5)" ( number_literal , (string_literal ""signature"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }" else (compound_statement "{\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }" { (expression_statement "uVar10 = dcgettext(0,"dwo_id",5);" (assignment_expression "uVar10 = dcgettext(0,"dwo_id",5)" identifier = (call_expression "dcgettext(0,"dwo_id",5)" identifier (argument_list "(0,"dwo_id",5)" ( number_literal , (string_literal ""dwo_id"" " string_content ") , number_literal )))) ;) }))) (expression_statement "printf("  slot  %-16s  ",uVar10);" (call_expression "printf("  slot  %-16s  ",uVar10)" identifier (argument_list "("  slot  %-16s  ",uVar10)" ( (string_literal ""  slot  %-16s  "" " string_content ") , identifier ))) ;) (if_statement "if ((uint)local_128 != 0) {\n      pdVar12 = pdVar2;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        pcVar7 = get_DW_SECT_short_name(uVar26);\n        printf(" %8s",pcVar7);\n        pdVar14 = pdVar22;\n      } while ((dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)\n      ;\n    }" if (parenthesized_expression "((uint)local_128 != 0)" ( (binary_expression "(uint)local_128 != 0" (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier) != number_literal) )) (compound_statement "{\n      pdVar12 = pdVar2;\n      pdVar14 = pdVar2;\n      do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        pcVar7 = get_DW_SECT_short_name(uVar26);\n        printf(" %8s",pcVar7);\n        pdVar14 = pdVar22;\n      } while ((dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)\n      ;\n    }" { (expression_statement "pdVar12 = pdVar2;" (assignment_expression "pdVar12 = pdVar2" identifier = identifier) ;) (expression_statement "pdVar14 = pdVar2;" (assignment_expression "pdVar14 = pdVar2" identifier = identifier) ;) (do_statement "do {\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        pcVar7 = get_DW_SECT_short_name(uVar26);\n        printf(" %8s",pcVar7);\n        pdVar14 = pdVar22;\n      } while ((dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)\n      ;" do (compound_statement "{\n        pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);\n        if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        pcVar7 = get_DW_SECT_short_name(uVar26);\n        printf(" %8s",pcVar7);\n        pdVar14 = pdVar22;\n      }" { (expression_statement "pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4);" (assignment_expression "pdVar22 = (dwarf_section *)((long)&pdVar14->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar14->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar14->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar14->uncompressed_name + 4" (cast_expression "(long)&pdVar14->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar14->uncompressed_name" & (field_expression "pdVar14->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (pdVar22 < pdVar1) {\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }\n        else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }" if (parenthesized_expression "(pdVar22 < pdVar1)" ( (binary_expression "pdVar22 < pdVar1" identifier < identifier) )) (compound_statement "{\n          iVar5 = 4;\nLAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);\n          uVar26 = (uint)eVar6;\n        }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) (labeled_statement "LAB_001224a9:\n          eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar14,iVar5);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar14,iVar5)" identifier = (call_expression "(*byte_get)((uchar *)pdVar14,iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar14,iVar5)" ( (cast_expression "(uchar *)pdVar14" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "uVar26 = (uint)eVar6;" (assignment_expression "uVar26 = (uint)eVar6" identifier = (cast_expression "(uint)eVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }" else (compound_statement "{\n          uVar26 = 0;\n          if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;\n        }" { (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (if_statement "if ((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))\n          goto LAB_001224a9;" if (parenthesized_expression "((pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8))" ( (binary_expression "(pdVar14 < pdVar1) && (iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8)" (parenthesized_expression "(pdVar14 < pdVar1)" ( (binary_expression "pdVar14 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8)" ( (comma_expression "iVar5 = iVar3 - (int)pdVar14, iVar5 - 1U < 8" (assignment_expression "iVar5 = iVar3 - (int)pdVar14" identifier = (binary_expression "iVar3 - (int)pdVar14" identifier - (cast_expression "(int)pdVar14" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar5 - 1U < 8" (binary_expression "iVar5 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001224a9;" goto statement_identifier ;)) }))) (expression_statement "pcVar7 = get_DW_SECT_short_name(uVar26);" (assignment_expression "pcVar7 = get_DW_SECT_short_name(uVar26)" identifier = (call_expression "get_DW_SECT_short_name(uVar26)" identifier (argument_list "(uVar26)" ( identifier )))) ;) (expression_statement "printf(" %8s",pcVar7);" (call_expression "printf(" %8s",pcVar7)" identifier (argument_list "(" %8s",pcVar7)" ( (string_literal "" %8s"" " string_content ") , identifier ))) ;) (expression_statement "pdVar14 = pdVar22;" (assignment_expression "pdVar14 = pdVar22" identifier = identifier) ;) }) while (parenthesized_expression "((dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22)" ( (binary_expression "(dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4) != pdVar22" (cast_expression "(dwarf_section *)\n               ((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4)" ( (binary_expression "(long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4 + 4" (binary_expression "(long)&pdVar2->uncompressed_name + (ulong)((uint)local_128 - 1) * 4" (cast_expression "(long)&pdVar2->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar2->uncompressed_name" & (field_expression "pdVar2->uncompressed_name" identifier -> field_identifier))) + (binary_expression "(ulong)((uint)local_128 - 1) * 4" (call_expression "(ulong)((uint)local_128 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)local_128 - 1)" ( (binary_expression "(uint)local_128 - 1" (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier) - number_literal) ))) * number_literal)) + number_literal) ))) != identifier) )) ;) })) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "local_b0 = (cu_tu_set *)0x0;" (assignment_expression "local_b0 = (cu_tu_set *)0x0" identifier = (cast_expression "(cu_tu_set *)0x0" ( (type_descriptor "cu_tu_set *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar29) goto LAB_00121c31;" if (parenthesized_expression "(bVar29)" ( identifier )) (goto_statement "goto LAB_00121c31;" goto statement_identifier ;)) (labeled_statement "LAB_001224d4:\n    putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (expression_statement "pcVar7 = (char *)dcgettext(0,"  Size table\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"  Size table\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Size table\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Size table\n",5)" identifier (argument_list "(0,"  Size table\n",5)" ( number_literal , (string_literal ""  Size table\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar7);" (call_expression "printf(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (if_statement "if (bVar30 == bVar28) {\n      uVar10 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }" if (parenthesized_expression "(bVar30 == bVar28)" ( (binary_expression "bVar30 == bVar28" identifier == identifier) )) (compound_statement "{\n      uVar10 = dcgettext(0,"signature",5);\n    }" { (expression_statement "uVar10 = dcgettext(0,"signature",5);" (assignment_expression "uVar10 = dcgettext(0,"signature",5)" identifier = (call_expression "dcgettext(0,"signature",5)" identifier (argument_list "(0,"signature",5)" ( number_literal , (string_literal ""signature"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }" else (compound_statement "{\n      uVar10 = dcgettext(0,"dwo_id",5);\n    }" { (expression_statement "uVar10 = dcgettext(0,"dwo_id",5);" (assignment_expression "uVar10 = dcgettext(0,"dwo_id",5)" identifier = (call_expression "dcgettext(0,"dwo_id",5)" identifier (argument_list "(0,"dwo_id",5)" ( number_literal , (string_literal ""dwo_id"" " string_content ") , number_literal )))) ;) }))) (expression_statement "printf("  slot  %-16s  ",uVar10);" (call_expression "printf("  slot  %-16s  ",uVar10)" identifier (argument_list "("  slot  %-16s  ",uVar10)" ( (string_literal ""  slot  %-16s  "" " string_content ") , identifier ))) ;) (if_statement "if ((uint)local_128 != 0) goto LAB_001220c6;" if (parenthesized_expression "((uint)local_128 != 0)" ( (binary_expression "(uint)local_128 != 0" (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier) != number_literal) )) (goto_statement "goto LAB_001220c6;" goto statement_identifier ;)) (labeled_statement "LAB_0012253d:\n    putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (if_statement "if (!bVar29) goto LAB_00121928;" if (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) (goto_statement "goto LAB_00121928;" goto statement_identifier ;)) }))) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (do_statement "do {\n    if (pdVar1 < local_e8 + 1) {\n      signature_high = 0;\n      signature_low = 0;\n    }\n    else {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n    }\n    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n    if (pdVar14 < pdVar1) {\n      iVar5 = 4;\nLAB_001221df:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      iVar5 = (int)eVar6;\n      if (iVar5 != 0) {\n        if (do_display == 0) {\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))\n    goto LAB_001221df;\n    uVar26 = uVar26 + 1;\n    local_e8 = local_e8 + 1;\n    pdVar20 = pdVar14;\n  } while (uVar26 < (uint)local_120);" do (compound_statement "{\n    if (pdVar1 < local_e8 + 1) {\n      signature_high = 0;\n      signature_low = 0;\n    }\n    else {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n    }\n    pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n    if (pdVar14 < pdVar1) {\n      iVar5 = 4;\nLAB_001221df:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      iVar5 = (int)eVar6;\n      if (iVar5 != 0) {\n        if (do_display == 0) {\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))\n    goto LAB_001221df;\n    uVar26 = uVar26 + 1;\n    local_e8 = local_e8 + 1;\n    pdVar20 = pdVar14;\n  }" { (if_statement "if (pdVar1 < local_e8 + 1) {\n      signature_high = 0;\n      signature_low = 0;\n    }\n    else {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n    }" if (parenthesized_expression "(pdVar1 < local_e8 + 1)" ( (binary_expression "pdVar1 < local_e8 + 1" identifier < (binary_expression "local_e8 + 1" identifier + number_literal)) )) (compound_statement "{\n      signature_high = 0;\n      signature_low = 0;\n    }" { (expression_statement "signature_high = 0;" (assignment_expression "signature_high = 0" identifier = number_literal) ;) (expression_statement "signature_low = 0;" (assignment_expression "signature_low = 0" identifier = number_literal) ;) }) (else_clause "else {\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n    }" else (compound_statement "{\n      byte_get_64((uchar *)local_e8,&signature_high,&signature_low);\n    }" { (expression_statement "byte_get_64((uchar *)local_e8,&signature_high,&signature_low);" (call_expression "byte_get_64((uchar *)local_e8,&signature_high,&signature_low)" identifier (argument_list "((uchar *)local_e8,&signature_high,&signature_low)" ( (cast_expression "(uchar *)local_e8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&signature_high" & identifier) , (pointer_expression "&signature_low" & identifier) ))) ;) }))) (expression_statement "pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);" (assignment_expression "pdVar14 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar20->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar20->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar20->uncompressed_name + 4" (cast_expression "(long)&pdVar20->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar20->uncompressed_name" & (field_expression "pdVar20->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (pdVar14 < pdVar1) {\n      iVar5 = 4;\nLAB_001221df:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      iVar5 = (int)eVar6;\n      if (iVar5 != 0) {\n        if (do_display == 0) {\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))\n    goto LAB_001221df;" if (parenthesized_expression "(pdVar14 < pdVar1)" ( (binary_expression "pdVar14 < pdVar1" identifier < identifier) )) (compound_statement "{\n      iVar5 = 4;\nLAB_001221df:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);\n      iVar5 = (int)eVar6;\n      if (iVar5 != 0) {\n        if (do_display == 0) {\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) (labeled_statement "LAB_001221df:\n      eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar20,iVar5);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar20,iVar5)" identifier = (call_expression "(*byte_get)((uchar *)pdVar20,iVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar20,iVar5)" ( (cast_expression "(uchar *)pdVar20" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "iVar5 = (int)eVar6;" (assignment_expression "iVar5 = (int)eVar6" identifier = (cast_expression "(int)eVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar5 != 0) {\n        if (do_display == 0) {\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        if (do_display == 0) {\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }" { (if_statement "if (do_display == 0) {\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" if (parenthesized_expression "(do_display == 0)" ( (binary_expression "do_display == 0" identifier == number_literal) )) (compound_statement "{\n          if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }\n        }" { (if_statement "if ((uint)local_128 != 0) {\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }" if (parenthesized_expression "((uint)local_128 != 0)" ( (binary_expression "(uint)local_128 != 0" (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier) != number_literal) )) (compound_statement "{\nLAB_00122220:\n            uVar27 = 0;\n            pdVar20 = pdVar2;\n            pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));\n            do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);\n            if (do_display != 0) goto LAB_001222dc;\n          }" { (labeled_statement "LAB_00122220:\n            uVar27 = 0;" statement_identifier : (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;)) (expression_statement "pdVar20 = pdVar2;" (assignment_expression "pdVar20 = pdVar2" identifier = identifier) ;) (expression_statement "pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100));" (assignment_expression "pdVar22 = (dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100))" identifier = (cast_expression "(dwarf_section *)\n                      (puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100))" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100))" ( (binary_expression "puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4) + (ulong)(uVar4 * (uint)local_100)" (binary_expression "puVar15 +\n                      (ulong)((iVar5 + 0x3fffffff) * uVar4)" identifier + (call_expression "(ulong)((iVar5 + 0x3fffffff) * uVar4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((iVar5 + 0x3fffffff) * uVar4)" ( (binary_expression "(iVar5 + 0x3fffffff) * uVar4" (parenthesized_expression "(iVar5 + 0x3fffffff)" ( (binary_expression "iVar5 + 0x3fffffff" identifier + number_literal) )) * identifier) )))) + (call_expression "(ulong)(uVar4 * (uint)local_100)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 * (uint)local_100)" ( (binary_expression "uVar4 * (uint)local_100" identifier * (cast_expression "(uint)local_100" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) )))) ;) (do_statement "do {\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            } while (uVar27 < (uint)local_128);" do (compound_statement "{\n              pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);\n              if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }\n              if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }\nLAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);\n              uVar27 = uVar27 + 1;\n              pdVar22 = pdVar19;\n            }" { (expression_statement "pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4);" (assignment_expression "pdVar19 = (dwarf_section *)((long)&pdVar22->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar22->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar22->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar22->uncompressed_name + 4" (cast_expression "(long)&pdVar22->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar22->uncompressed_name" & (field_expression "pdVar22->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (pdVar19 < pdVar1) {\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }\n              else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }" if (parenthesized_expression "(pdVar19 < pdVar1)" ( (binary_expression "pdVar19 < pdVar1" identifier < identifier) )) (compound_statement "{\n                iVar23 = 4;\nLAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);\n                sVar18 = eVar6 & 0xffffffff;\n              }" { (expression_statement "iVar23 = 4;" (assignment_expression "iVar23 = 4" identifier = number_literal) ;) (labeled_statement "LAB_001222f5:\n                eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar22,iVar23);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar22,iVar23)" identifier = (call_expression "(*byte_get)((uchar *)pdVar22,iVar23)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar22,iVar23)" ( (cast_expression "(uchar *)pdVar22" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "sVar18 = eVar6 & 0xffffffff;" (assignment_expression "sVar18 = eVar6 & 0xffffffff" identifier = (binary_expression "eVar6 & 0xffffffff" identifier & number_literal)) ;) }) (else_clause "else {\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }" else (compound_statement "{\n                sVar18 = 0;\n                if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;\n              }" { (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" identifier = number_literal) ;) (if_statement "if ((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))\n                goto LAB_001222f5;" if (parenthesized_expression "((pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8))" ( (binary_expression "(pdVar22 < pdVar1) && (iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8)" (parenthesized_expression "(pdVar22 < pdVar1)" ( (binary_expression "pdVar22 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8)" ( (comma_expression "iVar23 = iVar3 - (int)pdVar22, iVar23 - 1U < 8" (assignment_expression "iVar23 = iVar3 - (int)pdVar22" identifier = (binary_expression "iVar3 - (int)pdVar22" identifier - (cast_expression "(int)pdVar22" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar23 - 1U < 8" (binary_expression "iVar23 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001222f5;" goto statement_identifier ;)) }))) (if_statement "if (do_display == 0) {\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }\n              else {\n                printf(" %8d",sVar18);\n              }" if (parenthesized_expression "(do_display == 0)" ( (binary_expression "do_display == 0" identifier == number_literal) )) (compound_statement "{\n                if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }\n                local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;\n              }" { (if_statement "if ((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1) {\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }" if (parenthesized_expression "((dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1)" ( (binary_expression "(dwarf_section *)((long)&pdVar20->uncompressed_name + 4) < pdVar1" (cast_expression "(dwarf_section *)((long)&pdVar20->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar20->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar20->uncompressed_name + 4" (cast_expression "(long)&pdVar20->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar20->uncompressed_name" & (field_expression "pdVar20->uncompressed_name" identifier -> field_identifier))) + number_literal) ))) < identifier) )) (compound_statement "{\n                  iVar23 = 4;\nLAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);\n                  uVar8 = eVar6 & 0xffffffff;\n                  if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }\n                }" { (expression_statement "iVar23 = 4;" (assignment_expression "iVar23 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00122305:\n                  eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);" statement_identifier : (expression_statement "eVar6 = (*byte_get)((uchar *)pdVar20,iVar23);" (assignment_expression "eVar6 = (*byte_get)((uchar *)pdVar20,iVar23)" identifier = (call_expression "(*byte_get)((uchar *)pdVar20,iVar23)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pdVar20,iVar23)" ( (cast_expression "(uchar *)pdVar20" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (expression_statement "uVar8 = eVar6 & 0xffffffff;" (assignment_expression "uVar8 = eVar6 & 0xffffffff" identifier = (binary_expression "eVar6 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (7 < (uint)eVar6) {\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }" if (parenthesized_expression "(7 < (uint)eVar6)" ( (binary_expression "7 < (uint)eVar6" number_literal < (cast_expression "(uint)eVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n                    pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(pcVar7,eVar6 & 0xffffffff);\n                    goto LAB_001222b6;\n                  }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" identifier (argument_list "(0,"Overlarge Dwarf section index detected: %u\n",5)" ( number_literal , (string_literal ""Overlarge Dwarf section index detected: %u\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar7,eVar6 & 0xffffffff);" (call_expression "warn(pcVar7,eVar6 & 0xffffffff)" identifier (argument_list "(pcVar7,eVar6 & 0xffffffff)" ( identifier , (binary_expression "eVar6 & 0xffffffff" identifier & number_literal) ))) ;) (goto_statement "goto LAB_001222b6;" goto statement_identifier ;) })) }) (else_clause "else {\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }" else (compound_statement "{\n                  if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar8 = 0;\n                }" { (if_statement "if ((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))\n                  goto LAB_00122305;" if (parenthesized_expression "((pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8))" ( (binary_expression "(pdVar20 < pdVar1) && (iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8)" (parenthesized_expression "(pdVar20 < pdVar1)" ( (binary_expression "pdVar20 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8)" ( (comma_expression "iVar23 = iVar3 - (int)pdVar20, iVar23 - 1U < 8" (assignment_expression "iVar23 = iVar3 - (int)pdVar20" identifier = (binary_expression "iVar3 - (int)pdVar20" identifier - (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar23 - 1U < 8" (binary_expression "iVar23 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00122305;" goto statement_identifier ;)) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }))) (expression_statement "local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18;" (assignment_expression "local_b0[iVar5 - 1].section_sizes[uVar8] = sVar18" (subscript_expression "local_b0[iVar5 - 1].section_sizes[uVar8]" (field_expression "local_b0[iVar5 - 1].section_sizes" (subscript_expression "local_b0[iVar5 - 1]" identifier [ (binary_expression "iVar5 - 1" identifier - number_literal) ]) . field_identifier) [ identifier ]) = identifier) ;) }) (else_clause "else {\n                printf(" %8d",sVar18);\n              }" else (compound_statement "{\n                printf(" %8d",sVar18);\n              }" { (expression_statement "printf(" %8d",sVar18);" (call_expression "printf(" %8d",sVar18)" identifier (argument_list "(" %8d",sVar18)" ( (string_literal "" %8d"" " string_content ") , identifier ))) ;) }))) (labeled_statement "LAB_001222b6:\n              pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);" statement_identifier : (expression_statement "pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4);" (assignment_expression "pdVar20 = (dwarf_section *)((long)&pdVar20->uncompressed_name + 4)" identifier = (cast_expression "(dwarf_section *)((long)&pdVar20->uncompressed_name + 4)" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pdVar20->uncompressed_name + 4)" ( (binary_expression "(long)&pdVar20->uncompressed_name + 4" (cast_expression "(long)&pdVar20->uncompressed_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pdVar20->uncompressed_name" & (field_expression "pdVar20->uncompressed_name" identifier -> field_identifier))) + number_literal) )))) ;)) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "pdVar22 = pdVar19;" (assignment_expression "pdVar22 = pdVar19" identifier = identifier) ;) }) while (parenthesized_expression "(uVar27 < (uint)local_128)" ( (binary_expression "uVar27 < (uint)local_128" identifier < (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) (if_statement "if (do_display != 0) goto LAB_001222dc;" if (parenthesized_expression "(do_display != 0)" ( (binary_expression "do_display != 0" identifier != number_literal) )) (goto_statement "goto LAB_001222dc;" goto statement_identifier ;)) })) }) (else_clause "else {\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" else (compound_statement "{\n          pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);\n          pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar11,(ulong)uVar26,pcVar7);\n          pdVar12 = local_128;\n          if ((uint)local_128 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" { (expression_statement "pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12);" (assignment_expression "pcVar7 = dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12)" identifier = (call_expression "dwarf_vmatoa64(signature_high,signature_low,buf,(uint)pdVar12)" identifier (argument_list "(signature_high,signature_low,buf,(uint)pdVar12)" ( identifier , identifier , identifier , (cast_expression "(uint)pdVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"  [%3d] 0x%s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  [%3d] 0x%s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  [%3d] 0x%s",5)" identifier (argument_list "(0,"  [%3d] 0x%s",5)" ( number_literal , (string_literal ""  [%3d] 0x%s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar11,(ulong)uVar26,pcVar7);" (call_expression "printf(pcVar11,(ulong)uVar26,pcVar7)" identifier (argument_list "(pcVar11,(ulong)uVar26,pcVar7)" ( identifier , (cast_expression "(ulong)uVar26" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) (expression_statement "pdVar12 = local_128;" (assignment_expression "pdVar12 = local_128" identifier = identifier) ;) (if_statement "if ((uint)local_128 != 0) goto LAB_00122220;" if (parenthesized_expression "((uint)local_128 != 0)" ( (binary_expression "(uint)local_128 != 0" (cast_expression "(uint)local_128" ( (type_descriptor "uint" type_identifier) ) identifier) != number_literal) )) (goto_statement "goto LAB_00122220;" goto statement_identifier ;)) (labeled_statement "LAB_001222dc:\n          putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) }))) })) }) (else_clause "else if ((pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))\n    goto LAB_001221df;" else (if_statement "if ((pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))\n    goto LAB_001221df;" if (parenthesized_expression "((pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8))" ( (binary_expression "(pdVar20 < pdVar1) && (iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)" (parenthesized_expression "(pdVar20 < pdVar1)" ( (binary_expression "pdVar20 < pdVar1" identifier < identifier) )) && (parenthesized_expression "(iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8)" ( (comma_expression "iVar5 = iVar3 - (int)pdVar20, iVar5 - 1U < 8" (assignment_expression "iVar5 = iVar3 - (int)pdVar20" identifier = (binary_expression "iVar3 - (int)pdVar20" identifier - (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "iVar5 - 1U < 8" (binary_expression "iVar5 - 1U" identifier - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001221df;" goto statement_identifier ;)))) (expression_statement "uVar26 = uVar26 + 1;" (assignment_expression "uVar26 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "local_e8 = local_e8 + 1;" (assignment_expression "local_e8 = local_e8 + 1" identifier = (binary_expression "local_e8 + 1" identifier + number_literal)) ;) (expression_statement "pdVar20 = pdVar14;" (assignment_expression "pdVar20 = pdVar14" identifier = identifier) ;) }) while (parenthesized_expression "(uVar26 < (uint)local_120)" ( (binary_expression "uVar26 < (uint)local_120" identifier < (cast_expression "(uint)local_120" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) (labeled_statement "LAB_0012191c:\n  if (do_display == 0) {\n    return 1;\n  }" statement_identifier : (if_statement "if (do_display == 0) {\n    return 1;\n  }" if (parenthesized_expression "(do_display == 0)" ( (binary_expression "do_display == 0" identifier == number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) }))) (labeled_statement "LAB_00121928:\n  putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (return_statement "return 1;" return number_literal ;) (labeled_statement "LAB_00121a48:\n  if (do_display == 0) {\n    uVar8 = (ulong)shndx_pool_used;\n    if (shndx_pool_used < shndx_pool_size) {\n      shndx_pool_used = shndx_pool_used + 1;\n      shndx_pool[uVar8] = 0;\n    }\n    else {\n      pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(pcVar7);\n    }\n  }\n  else {\n    putchar(10);\n  }" statement_identifier : (if_statement "if (do_display == 0) {\n    uVar8 = (ulong)shndx_pool_used;\n    if (shndx_pool_used < shndx_pool_size) {\n      shndx_pool_used = shndx_pool_used + 1;\n      shndx_pool[uVar8] = 0;\n    }\n    else {\n      pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(pcVar7);\n    }\n  }\n  else {\n    putchar(10);\n  }" if (parenthesized_expression "(do_display == 0)" ( (binary_expression "do_display == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = (ulong)shndx_pool_used;\n    if (shndx_pool_used < shndx_pool_size) {\n      shndx_pool_used = shndx_pool_used + 1;\n      shndx_pool[uVar8] = 0;\n    }\n    else {\n      pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(pcVar7);\n    }\n  }" { (expression_statement "uVar8 = (ulong)shndx_pool_used;" (assignment_expression "uVar8 = (ulong)shndx_pool_used" identifier = (cast_expression "(ulong)shndx_pool_used" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (shndx_pool_used < shndx_pool_size) {\n      shndx_pool_used = shndx_pool_used + 1;\n      shndx_pool[uVar8] = 0;\n    }\n    else {\n      pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(pcVar7);\n    }" if (parenthesized_expression "(shndx_pool_used < shndx_pool_size)" ( (binary_expression "shndx_pool_used < shndx_pool_size" identifier < identifier) )) (compound_statement "{\n      shndx_pool_used = shndx_pool_used + 1;\n      shndx_pool[uVar8] = 0;\n    }" { (expression_statement "shndx_pool_used = shndx_pool_used + 1;" (assignment_expression "shndx_pool_used = shndx_pool_used + 1" identifier = (binary_expression "shndx_pool_used + 1" identifier + number_literal)) ;) (expression_statement "shndx_pool[uVar8] = 0;" (assignment_expression "shndx_pool[uVar8] = 0" (subscript_expression "shndx_pool[uVar8]" identifier [ identifier ]) = number_literal) ;) }) (else_clause "else {\n      pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(pcVar7);\n    }" else (compound_statement "{\n      pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(pcVar7);\n    }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" identifier (argument_list "(0,"Internal error: out of space in the shndx pool.\n",5)" ( number_literal , (string_literal ""Internal error: out of space in the shndx pool.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar7);" (call_expression "error(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) }))) }) (else_clause "else {\n    putchar(10);\n  }" else (compound_statement "{\n    putchar(10);\n  }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) })))) (goto_statement "goto LAB_0012190b;" goto statement_identifier ;) })))
(translation_unit "undefined8 FUN_00121500(long param_1,int param_2)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  undefined8 *puVar9;\n  undefined8 uVar10;\n  undefined8 *puVar11;\n  ulong uVar12;\n  ulong uVar13;\n  undefined8 uVar14;\n  long lVar15;\n  undefined8 *puVar16;\n  long lVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined8 *puVar24;\n  uint uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  ulong local_120;\n  undefined8 *local_f0;\n  undefined8 *local_e8;\n  long local_b0;\n  long local_88;\n  long local_80;\n  undefined1 local_78 [72];\n  \n  bVar29 = 0;\n  local_e8 = *(undefined8 **)(param_1 + 0x20);\n  uVar13 = *(ulong *)(param_1 + 0x30);\n  if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }\n  if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  puVar2 = (undefined8 *)((long)local_e8 + uVar13);\n  puVar9 = (undefined8 *)((long)local_e8 + 4);\n  puVar16 = local_e8 + 1;\n  if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }\njoined_r0x001217d3:\n  uVar13 = local_120;\n  if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }\n  local_e8 = local_e8 + 2;\n  local_120._0_4_ = (uint)uVar13;\n  if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }\n  if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }\n  uVar3 = uVar22 * 4;\n  uVar13 = (ulong)uVar3;\n  uVar19 = (long)puVar16 + uVar13;\n  if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }\n  pbVar20 = *(byte **)(param_1 + 0x10);\n  lVar17 = uVar19 + uVar3 * uVar23;\n  puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);\n  bVar26 = puVar2 < puVar11;\n  bVar28 = puVar2 == puVar11;\n  if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }\n  lVar15 = 0x10;\n  pbVar21 = (byte *)".debug_tu_index";\n  do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);\n  bVar28 = !bVar26 && !bVar28;\n  if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }\n  uVar23 = 0;\n  do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);\nLAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}\n\n" (function_definition "undefined8 FUN_00121500(long param_1,int param_2)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  undefined8 *puVar9;\n  undefined8 uVar10;\n  undefined8 *puVar11;\n  ulong uVar12;\n  ulong uVar13;\n  undefined8 uVar14;\n  long lVar15;\n  undefined8 *puVar16;\n  long lVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined8 *puVar24;\n  uint uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  ulong local_120;\n  undefined8 *local_f0;\n  undefined8 *local_e8;\n  long local_b0;\n  long local_88;\n  long local_80;\n  undefined1 local_78 [72];\n  \n  bVar29 = 0;\n  local_e8 = *(undefined8 **)(param_1 + 0x20);\n  uVar13 = *(ulong *)(param_1 + 0x30);\n  if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }\n  if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  puVar2 = (undefined8 *)((long)local_e8 + uVar13);\n  puVar9 = (undefined8 *)((long)local_e8 + 4);\n  puVar16 = local_e8 + 1;\n  if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }\njoined_r0x001217d3:\n  uVar13 = local_120;\n  if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }\n  local_e8 = local_e8 + 2;\n  local_120._0_4_ = (uint)uVar13;\n  if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }\n  if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }\n  uVar3 = uVar22 * 4;\n  uVar13 = (ulong)uVar3;\n  uVar19 = (long)puVar16 + uVar13;\n  if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }\n  pbVar20 = *(byte **)(param_1 + 0x10);\n  lVar17 = uVar19 + uVar3 * uVar23;\n  puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);\n  bVar26 = puVar2 < puVar11;\n  bVar28 = puVar2 == puVar11;\n  if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }\n  lVar15 = 0x10;\n  pbVar21 = (byte *)".debug_tu_index";\n  do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);\n  bVar28 = !bVar26 && !bVar28;\n  if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }\n  uVar23 = 0;\n  do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);\nLAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}" type_identifier (function_declarator "FUN_00121500(long param_1,int param_2)" identifier (parameter_list "(long param_1,int param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  undefined8 *puVar9;\n  undefined8 uVar10;\n  undefined8 *puVar11;\n  ulong uVar12;\n  ulong uVar13;\n  undefined8 uVar14;\n  long lVar15;\n  undefined8 *puVar16;\n  long lVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined8 *puVar24;\n  uint uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  ulong local_120;\n  undefined8 *local_f0;\n  undefined8 *local_e8;\n  long local_b0;\n  long local_88;\n  long local_80;\n  undefined1 local_78 [72];\n  \n  bVar29 = 0;\n  local_e8 = *(undefined8 **)(param_1 + 0x20);\n  uVar13 = *(ulong *)(param_1 + 0x30);\n  if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }\n  if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  puVar2 = (undefined8 *)((long)local_e8 + uVar13);\n  puVar9 = (undefined8 *)((long)local_e8 + 4);\n  puVar16 = local_e8 + 1;\n  if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }\njoined_r0x001217d3:\n  uVar13 = local_120;\n  if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }\n  local_e8 = local_e8 + 2;\n  local_120._0_4_ = (uint)uVar13;\n  if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }\n  if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }\n  uVar3 = uVar22 * 4;\n  uVar13 = (ulong)uVar3;\n  uVar19 = (long)puVar16 + uVar13;\n  if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }\n  pbVar20 = *(byte **)(param_1 + 0x10);\n  lVar17 = uVar19 + uVar3 * uVar23;\n  puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);\n  bVar26 = puVar2 < puVar11;\n  bVar28 = puVar2 == puVar11;\n  if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }\n  lVar15 = 0x10;\n  pbVar21 = (byte *)".debug_tu_index";\n  do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);\n  bVar28 = !bVar26 && !bVar28;\n  if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }\n  uVar23 = 0;\n  do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);\nLAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "undefined8 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "undefined8 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "ulong uVar19;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "undefined8 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "byte bVar29;" type_identifier identifier ;) (declaration "ulong local_120;" type_identifier identifier ;) (declaration "undefined8 *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "undefined8 *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "long local_b0;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_88;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_80;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_78 [72];" type_identifier (array_declarator "local_78 [72]" identifier [ number_literal ]) ;) (expression_statement "bVar29 = 0;" (assignment_expression "bVar29 = 0" identifier = number_literal) ;) (expression_statement "local_e8 = *(undefined8 **)(param_1 + 0x20);" (assignment_expression "local_e8 = *(undefined8 **)(param_1 + 0x20)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x20)" * (cast_expression "(undefined8 **)(param_1 + 0x20)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(ulong *)(param_1 + 0x30);" (assignment_expression "uVar13 = *(ulong *)(param_1 + 0x30)" identifier = (pointer_expression "*(ulong *)(param_1 + 0x30)" * (cast_expression "(ulong *)(param_1 + 0x30)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }" if (parenthesized_expression "(local_e8 == (undefined8 *)0x0)" ( (binary_expression "local_e8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }" { (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = "Section %s is empty\n";" (assignment_expression "pcVar8 = "Section %s is empty\n"" identifier = (string_literal ""Section %s is empty\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);" statement_identifier : (expression_statement "uVar10 = dcgettext(0,pcVar8,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar8,5)" identifier = (call_expression "dcgettext(0,pcVar8,5)" identifier (argument_list "(0,pcVar8,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "warn(uVar10,uVar14);" (call_expression "warn(uVar10,uVar14)" identifier (argument_list "(uVar10,uVar14)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }" if (parenthesized_expression "(uVar13 < 0x18)" ( (binary_expression "uVar13 < 0x18" identifier < number_literal) )) (compound_statement "{\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }" { (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = "Section %s is too small to contain a CU/TU header\n";" (assignment_expression "pcVar8 = "Section %s is too small to contain a CU/TU header\n"" identifier = (string_literal ""Section %s is too small to contain a CU/TU header\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00121880;" goto statement_identifier ;) })) (expression_statement "puVar2 = (undefined8 *)((long)local_e8 + uVar13);" (assignment_expression "puVar2 = (undefined8 *)((long)local_e8 + uVar13)" identifier = (cast_expression "(undefined8 *)((long)local_e8 + uVar13)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_e8 + uVar13)" ( (binary_expression "(long)local_e8 + uVar13" (cast_expression "(long)local_e8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) ;) (expression_statement "puVar9 = (undefined8 *)((long)local_e8 + 4);" (assignment_expression "puVar9 = (undefined8 *)((long)local_e8 + 4)" identifier = (cast_expression "(undefined8 *)((long)local_e8 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_e8 + 4)" ( (binary_expression "(long)local_e8 + 4" (cast_expression "(long)local_e8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "puVar16 = local_e8 + 1;" (assignment_expression "puVar16 = local_e8 + 1" identifier = (binary_expression "local_e8 + 1" identifier + number_literal)) ;) (if_statement "if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }" if (parenthesized_expression "(puVar9 < puVar2)" ( (binary_expression "puVar9 < puVar2" identifier < identifier) )) (compound_statement "{\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }" { (expression_statement "uVar19 = 4;" (assignment_expression "uVar19 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);" statement_identifier : (expression_statement "uVar3 = (*DAT_00159e20)(local_e8,uVar19);" (assignment_expression "uVar3 = (*DAT_00159e20)(local_e8,uVar19)" identifier = (call_expression "(*DAT_00159e20)(local_e8,uVar19)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(local_e8,uVar19)" ( identifier , identifier )))) ;)) (if_statement "if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }" if (parenthesized_expression "(uVar3 < 2)" ( (binary_expression "uVar3 < 2" identifier < number_literal) )) (compound_statement "{\n      uVar22 = 0;\n      goto LAB_00121690;\n    }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00121690;" goto statement_identifier ;) })) (if_statement "if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }" if (parenthesized_expression "(puVar16 < puVar2)" ( (binary_expression "puVar16 < puVar2" identifier < identifier) )) (compound_statement "{\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }" { (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);" statement_identifier : (expression_statement "uVar22 = (*DAT_00159e20)(puVar9,lVar17);" (assignment_expression "uVar22 = (*DAT_00159e20)(puVar9,lVar17)" identifier = (call_expression "(*DAT_00159e20)(puVar9,lVar17)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar9,lVar17)" ( identifier , identifier )))) ;)) (goto_statement "goto LAB_00121690;" goto statement_identifier ;) })) (if_statement "if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;" if (parenthesized_expression "((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8))" ( (binary_expression "(puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)" (parenthesized_expression "(puVar9 < puVar2)" ( (binary_expression "puVar9 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)" ( (comma_expression "lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8" (assignment_expression "lVar17 = uVar13 - 4" identifier = (binary_expression "uVar13 - 4" identifier - number_literal)) , (binary_expression "(int)lVar17 - 1U < 8" (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_0012183d;" goto statement_identifier ;)) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (if_statement "if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;" if (parenthesized_expression "(puVar2 <= (undefined8 *)((long)local_e8 + 0xcU))" ( (binary_expression "puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)" identifier <= (cast_expression "(undefined8 *)((long)local_e8 + 0xcU)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_e8 + 0xcU)" ( (binary_expression "(long)local_e8 + 0xcU" (cast_expression "(long)local_e8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )) (goto_statement "goto LAB_001215a0;" goto statement_identifier ;)) (labeled_statement "LAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);" statement_identifier : (expression_statement "uVar23 = (*DAT_00159e20)(puVar16,4);" (assignment_expression "uVar23 = (*DAT_00159e20)(puVar16,4)" identifier = (call_expression "(*DAT_00159e20)(puVar16,4)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar16,4)" ( identifier , number_literal )))) ;)) (if_statement "if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }" if (parenthesized_expression "(local_e8 + 2 < puVar2)" ( (binary_expression "local_e8 + 2 < puVar2" (binary_expression "local_e8 + 2" identifier + number_literal) < identifier) )) (compound_statement "{\nLAB_001216e0:\n      lVar17 = 4;\n    }" { (labeled_statement "LAB_001216e0:\n      lVar17 = 4;" statement_identifier : (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" identifier = number_literal) ;)) }) (else_clause "else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }" else (compound_statement "{\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }" { (expression_statement "lVar17 = uVar13 - 0xc;" (assignment_expression "lVar17 = uVar13 - 0xc" identifier = (binary_expression "uVar13 - 0xc" identifier - number_literal)) ;) (if_statement "if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }" if (parenthesized_expression "(7 < (int)lVar17 - 1U)" ( (binary_expression "7 < (int)lVar17 - 1U" number_literal < (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) (compound_statement "{\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }" { (labeled_statement "LAB_001217b9:\n        puVar9 = local_e8 + 2;" statement_identifier : (expression_statement "puVar9 = local_e8 + 2;" (assignment_expression "puVar9 = local_e8 + 2" identifier = (binary_expression "local_e8 + 2" identifier + number_literal)) ;)) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" identifier = number_literal) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "puVar16 = puVar9;" (assignment_expression "puVar16 = puVar9" identifier = identifier) ;) (goto_statement "goto joined_r0x001217d3;" goto statement_identifier ;) })) }))) (expression_statement "puVar11 = local_e8 + 2;" (assignment_expression "puVar11 = local_e8 + 2" identifier = (binary_expression "local_e8 + 2" identifier + number_literal)) ;) (expression_statement "uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);" (assignment_expression "uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17)" identifier = (call_expression "(*DAT_00159e20)((long)local_e8 + 0xc,lVar17)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "((long)local_e8 + 0xc,lVar17)" ( (binary_expression "(long)local_e8 + 0xc" (cast_expression "(long)local_e8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) , identifier )))) ;) (expression_statement "iVar7 = (int)uVar13;" (assignment_expression "iVar7 = (int)uVar13" identifier = (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_120 = uVar13 & 0xffffffff;" (assignment_expression "local_120 = uVar13 & 0xffffffff" identifier = (binary_expression "uVar13 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);" (assignment_expression "puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11)" identifier = (cast_expression "(undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uint)(iVar7 * 8) + (long)puVar11)" ( (binary_expression "(ulong)(uint)(iVar7 * 8) + (long)puVar11" (call_expression "(ulong)(uint)(iVar7 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar7 * 8)" ( (binary_expression "iVar7 * 8" identifier * number_literal) ))) + (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);" (assignment_expression "puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9)" identifier = (cast_expression "(undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uint)(iVar7 * 4) + (long)puVar9)" ( (binary_expression "(ulong)(uint)(iVar7 * 4) + (long)puVar9" (call_expression "(ulong)(uint)(iVar7 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar7 * 4)" ( (binary_expression "iVar7 * 4" identifier * number_literal) ))) + (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }" if (parenthesized_expression "(((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27))))" ( (binary_expression "((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))" (parenthesized_expression "((puVar9 < puVar11) || (puVar16 < local_e8))" ( (binary_expression "(puVar9 < puVar11) || (puVar16 < local_e8)" (parenthesized_expression "(puVar9 < puVar11)" ( (binary_expression "puVar9 < puVar11" identifier < identifier) )) || (parenthesized_expression "(puVar16 < local_e8)" ( (binary_expression "puVar16 < local_e8" identifier < identifier) ))) )) || (parenthesized_expression "((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))" ( (parenthesized_expression "(bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27))" ( (comma_expression "bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)" (assignment_expression "bVar27 = iVar7 != 0" identifier = (binary_expression "iVar7 != 0" identifier != number_literal)) , (binary_expression "puVar11 == puVar9 && (bVar27)" (binary_expression "puVar11 == puVar9" identifier == identifier) && (parenthesized_expression "(bVar27)" ( identifier )))) )) ))) )) (compound_statement "{\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }" { (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);" (assignment_expression "uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5)" identifier = (call_expression "dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5)" identifier (argument_list "(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5)" ( number_literal , (string_literal ""Section %s is too small for %d slot\n"" " string_content escape_sequence ") , (string_literal ""Section %s is too small for %d slots\n"" " string_content escape_sequence ") , (binary_expression "uVar13 & 0xffffffff" identifier & number_literal) , number_literal )))) ;) (goto_statement "goto LAB_0012175d;" goto statement_identifier ;) })) }) (else_clause "else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }" else (compound_statement "{\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }" { (if_statement "if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }" if (parenthesized_expression "((local_e8 < puVar2) && ((int)uVar13 - 1U < 8))" ( (binary_expression "(local_e8 < puVar2) && ((int)uVar13 - 1U < 8)" (parenthesized_expression "(local_e8 < puVar2)" ( (binary_expression "local_e8 < puVar2" identifier < identifier) )) && (parenthesized_expression "((int)uVar13 - 1U < 8)" ( (binary_expression "(int)uVar13 - 1U < 8" (binary_expression "(int)uVar13 - 1U" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal) ))) )) (compound_statement "{\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }" { (expression_statement "uVar19 = uVar13 & 0xffffffff;" (assignment_expression "uVar19 = uVar13 & 0xffffffff" identifier = (binary_expression "uVar13 & 0xffffffff" identifier & number_literal)) ;) (goto_statement "goto LAB_0012154d;" goto statement_identifier ;) })) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;" statement_identifier : (if_statement "if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;" if (parenthesized_expression "((undefined8 *)((long)local_e8 + 0xcU) < puVar2)" ( (binary_expression "(undefined8 *)((long)local_e8 + 0xcU) < puVar2" (cast_expression "(undefined8 *)((long)local_e8 + 0xcU)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_e8 + 0xcU)" ( (binary_expression "(long)local_e8 + 0xcU" (cast_expression "(long)local_e8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (goto_statement "goto LAB_00121780;" goto statement_identifier ;))) (if_statement "if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }" if (parenthesized_expression "((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8))" ( (binary_expression "(puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)" (parenthesized_expression "(puVar16 < puVar2)" ( (binary_expression "puVar16 < puVar2" identifier < identifier) )) && (parenthesized_expression "((int)(uVar13 - 8) - 1U < 8)" ( (binary_expression "(int)(uVar13 - 8) - 1U < 8" (binary_expression "(int)(uVar13 - 8) - 1U" (cast_expression "(int)(uVar13 - 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar13 - 8)" ( (binary_expression "uVar13 - 8" identifier - number_literal) ))) - number_literal) < number_literal) ))) )) (compound_statement "{\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }" { (expression_statement "uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);" (assignment_expression "uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff)" identifier = (call_expression "(*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar16,uVar13 - 8 & 0xffffffff)" ( identifier , (binary_expression "uVar13 - 8 & 0xffffffff" (binary_expression "uVar13 - 8" identifier - number_literal) & number_literal) )))) ;) (if_statement "if (local_e8 + 2 < puVar2) goto LAB_001216e0;" if (parenthesized_expression "(local_e8 + 2 < puVar2)" ( (binary_expression "local_e8 + 2 < puVar2" (binary_expression "local_e8 + 2" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_001216e0;" goto statement_identifier ;)) (goto_statement "goto LAB_001217b9;" goto statement_identifier ;) })) (labeled_statement "LAB_001215a0:\n    puVar9 = local_e8 + 2;" statement_identifier : (expression_statement "puVar9 = local_e8 + 2;" (assignment_expression "puVar9 = local_e8 + 2" identifier = (binary_expression "local_e8 + 2" identifier + number_literal)) ;)) (if_statement "if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }" if (parenthesized_expression "(puVar9 < puVar2)" ( (binary_expression "puVar9 < puVar2" identifier < identifier) )) (compound_statement "{\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }" { (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001216e0;" goto statement_identifier ;) })) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" identifier = number_literal) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "puVar16 = puVar9;" (assignment_expression "puVar16 = puVar9" identifier = identifier) ;) }))) (labeled_statement "joined_r0x001217d3:\n  uVar13 = local_120;" statement_identifier : (expression_statement "uVar13 = local_120;" (assignment_expression "uVar13 = local_120" identifier = identifier) ;)) (if_statement "if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }" { (expression_statement "FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);" (call_expression "FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , (binary_expression "param_1 + 0x18" identifier + number_literal) ))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                 %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                 %d\n",5)" identifier (argument_list "(0,"  Version:                 %d\n",5)" ( number_literal , (string_literal ""  Version:                 %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar3);" (call_expression "printf(pcVar8,(ulong)uVar3)" identifier (argument_list "(pcVar8,(ulong)uVar3)" ( identifier , (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (if_statement "if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }" if (parenthesized_expression "(1 < uVar3)" ( (binary_expression "1 < uVar3" number_literal < identifier) )) (compound_statement "{\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }" { (expression_statement "pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Number of columns:       %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Number of columns:       %d\n",5)" identifier (argument_list "(0,"  Number of columns:       %d\n",5)" ( number_literal , (string_literal ""  Number of columns:       %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar22);" (call_expression "printf(pcVar8,(ulong)uVar22)" identifier (argument_list "(pcVar8,(ulong)uVar22)" ( identifier , (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) })) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Number of used entries:  %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Number of used entries:  %d\n",5)" identifier (argument_list "(0,"  Number of used entries:  %d\n",5)" ( number_literal , (string_literal ""  Number of used entries:  %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,uVar23);" (call_expression "printf(pcVar8,uVar23)" identifier (argument_list "(pcVar8,uVar23)" ( identifier , identifier ))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Number of slots:         %d\n\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Number of slots:         %d\n\n",5)" identifier (argument_list "(0,"  Number of slots:         %d\n\n",5)" ( number_literal , (string_literal ""  Number of slots:         %d\n\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,uVar13);" (call_expression "printf(pcVar8,uVar13)" identifier (argument_list "(pcVar8,uVar13)" ( identifier , identifier ))) ;) })) (expression_statement "local_e8 = local_e8 + 2;" (assignment_expression "local_e8 = local_e8 + 2" identifier = (binary_expression "local_e8 + 2" identifier + number_literal)) ;) (expression_statement "local_120._0_4_ = (uint)uVar13;" (assignment_expression "local_120._0_4_ = (uint)uVar13" (field_expression "local_120._0_4_" identifier . field_identifier) = (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }" if (parenthesized_expression "(puVar2 < puVar16)" ( (binary_expression "puVar2 < puVar16" identifier < identifier) )) (compound_statement "{\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }" { (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);" (assignment_expression "uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5)" identifier = (call_expression "dcgettext(0,"Section %s too small for %d hash table entries\n",5)" identifier (argument_list "(0,"Section %s too small for %d hash table entries\n",5)" ( number_literal , (string_literal ""Section %s too small for %d hash table entries\n"" " string_content escape_sequence ") , number_literal )))) ;) (labeled_statement "LAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);" statement_identifier : (expression_statement "warn(uVar10,uVar14,uVar13 & 0xffffffff);" (call_expression "warn(uVar10,uVar14,uVar13 & 0xffffffff)" identifier (argument_list "(uVar10,uVar14,uVar13 & 0xffffffff)" ( identifier , identifier , (binary_expression "uVar13 & 0xffffffff" identifier & number_literal) ))) ;)) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }" if (parenthesized_expression "(uVar3 == 1)" ( (binary_expression "uVar3 == 1" identifier == number_literal) )) (compound_statement "{\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }" { (if_statement "if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }" { (expression_statement "lVar15 = (long)puVar2 - (long)puVar16;" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar16" identifier = (binary_expression "(long)puVar2 - (long)puVar16" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "lVar17 = lVar15 + 3;" (assignment_expression "lVar17 = lVar15 + 3" identifier = (binary_expression "lVar15 + 3" identifier + number_literal)) ;) (if_statement "if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }" if (parenthesized_expression "(-1 < lVar15)" ( (binary_expression "-1 < lVar15" number_literal < identifier) )) (compound_statement "{\n        lVar17 = lVar15;\n      }" { (expression_statement "lVar17 = lVar15;" (assignment_expression "lVar17 = lVar15" identifier = identifier) ;) })) (expression_statement "DAT_00159b94 = (uint)(lVar17 >> 2);" (assignment_expression "DAT_00159b94 = (uint)(lVar17 >> 2)" identifier = (call_expression "(uint)(lVar17 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar17 >> 2)" ( (binary_expression "lVar17 >> 2" identifier >> number_literal) )))) ;) (if_statement "if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }" if (parenthesized_expression "(DAT_00159b98 == 0)" ( (binary_expression "DAT_00159b98 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }" { (expression_statement "DAT_00159b90 = 0;" (assignment_expression "DAT_00159b90 = 0" identifier = number_literal) ;) (expression_statement "DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);" (assignment_expression "DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4)" identifier = (call_expression "FUN_0011e220(lVar17 >> 2 & 0xffffffff,4)" identifier (argument_list "(lVar17 >> 2 & 0xffffffff,4)" ( (binary_expression "lVar17 >> 2 & 0xffffffff" (binary_expression "lVar17 >> 2" identifier >> number_literal) & number_literal) , number_literal )))) ;) }) (else_clause "else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }" else (compound_statement "{\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }" { (expression_statement "DAT_00159b94 = DAT_00159b94 + DAT_00159b90;" (assignment_expression "DAT_00159b94 = DAT_00159b94 + DAT_00159b90" identifier = (binary_expression "DAT_00159b94 + DAT_00159b90" identifier + identifier)) ;) (expression_statement "DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);" (assignment_expression "DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4)" identifier = (call_expression "xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4)" identifier (argument_list "(DAT_00159b98,(ulong)DAT_00159b94 * 4)" ( identifier , (binary_expression "(ulong)DAT_00159b94 * 4" (cast_expression "(ulong)DAT_00159b94" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) )))) ;) }))) (if_statement "if (!bVar27) {\n        return 1;\n      }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else if (!bVar27) goto LAB_00121928;" else (if_statement "if (!bVar27) goto LAB_00121928;" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (goto_statement "goto LAB_00121928;" goto statement_identifier ;)))) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }" statement_identifier : (if_statement "if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }" if (parenthesized_expression "(puVar2 < local_e8 + 1)" ( (binary_expression "puVar2 < local_e8 + 1" identifier < (binary_expression "local_e8 + 1" identifier + number_literal)) )) (compound_statement "{\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }" { (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0012190b;" goto statement_identifier ;) }))) (expression_statement "FUN_00137d20(local_e8,&local_88,&local_80);" (call_expression "FUN_00137d20(local_e8,&local_88,&local_80)" identifier (argument_list "(local_e8,&local_88,&local_80)" ( identifier , (pointer_expression "&local_88" & identifier) , (pointer_expression "&local_80" & identifier) ))) ;) (if_statement "if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }" if (parenthesized_expression "((local_88 != 0) || (local_80 != 0))" ( (binary_expression "(local_88 != 0) || (local_80 != 0)" (parenthesized_expression "(local_88 != 0)" ( (binary_expression "local_88 != 0" identifier != number_literal) )) || (parenthesized_expression "(local_80 != 0)" ( (binary_expression "local_80 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }" { (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" identifier = number_literal) ;) (if_statement "if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }" if (parenthesized_expression "(((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8))))" ( (binary_expression "((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))" (parenthesized_expression "((undefined8 *)((long)puVar9 + 4U) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar9 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar9 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 4U)" ( (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) || (parenthesized_expression "((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))" ( (parenthesized_expression "(puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8))" ( (comma_expression "puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)" (assignment_expression "puVar11 = puVar16" identifier = identifier) , (binary_expression "puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)" (binary_expression "puVar9 < puVar2" identifier < identifier) && (parenthesized_expression "(lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)" ( (comma_expression "lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8" (assignment_expression "lVar17 = (long)puVar2 - (long)puVar9" identifier = (binary_expression "(long)puVar2 - (long)puVar9" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar17 - 1U < 8" (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }" { (expression_statement "iVar7 = (*DAT_00159e20)(puVar9,lVar17);" (assignment_expression "iVar7 = (*DAT_00159e20)(puVar9,lVar17)" identifier = (call_expression "(*DAT_00159e20)(puVar9,lVar17)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar9,lVar17)" ( identifier , identifier )))) ;) (expression_statement "puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);" (assignment_expression "puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16)" identifier = (cast_expression "(undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uint)(iVar7 * 4) + (long)puVar16)" ( (binary_expression "(ulong)(uint)(iVar7 * 4) + (long)puVar16" (call_expression "(ulong)(uint)(iVar7 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar7 * 4)" ( (binary_expression "iVar7 * 4" identifier * number_literal) ))) + (cast_expression "(long)puVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }" if (parenthesized_expression "(CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16))" ( (call_expression "CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)" identifier (argument_list "((ulong)(uint)(iVar7 * 4),(ulong)puVar16)" ( (call_expression "(ulong)(uint)(iVar7 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar7 * 4)" ( (binary_expression "iVar7 * 4" identifier * number_literal) ))) , (cast_expression "(ulong)puVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) )) (compound_statement "{\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }" { (expression_statement "uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Section index pool located before start of section\n",5)" identifier = (call_expression "dcgettext(0,"Section index pool located before start of section\n",5)" identifier (argument_list "(0,"Section index pool located before start of section\n",5)" ( number_literal , (string_literal ""Section index pool located before start of section\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14);" (call_expression "warn(uVar14)" identifier (argument_list "(uVar14)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) })) (if_statement "if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }" { (expression_statement "uVar14 = FUN_001106c0(local_88,local_80,local_78);" (assignment_expression "uVar14 = FUN_001106c0(local_88,local_80,local_78)" identifier = (call_expression "FUN_001106c0(local_88,local_80,local_78)" identifier (argument_list "(local_88,local_80,local_78)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" identifier (argument_list "(0,"  [%3d] Signature:  0x%s  Sections: ",5)" ( number_literal , (string_literal ""  [%3d] Signature:  0x%s  Sections: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar22,uVar14);" (call_expression "printf(pcVar8,(ulong)uVar22,uVar14)" identifier (argument_list "(pcVar8,(ulong)uVar22,uVar14)" ( identifier , (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) })) (if_statement "if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }" if (parenthesized_expression "(puVar11 < puVar2)" ( (binary_expression "puVar11 < puVar2" identifier < identifier) )) (compound_statement "{\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }" { (do_statement "do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );" do (compound_statement "{\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        }" { (expression_statement "puVar24 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar11 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }" if (parenthesized_expression "(puVar24 < puVar2)" ( (binary_expression "puVar24 < puVar2" identifier < identifier) )) (compound_statement "{\n            lVar17 = 4;\n          }" { (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" identifier = number_literal) ;) }) (else_clause "else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }" else (compound_statement "{\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }" { (expression_statement "lVar17 = (long)puVar2 - (long)puVar11;" (assignment_expression "lVar17 = (long)puVar2 - (long)puVar11" identifier = (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if (7 < (int)lVar17 - 1U) goto LAB_00121a48;" if (parenthesized_expression "(7 < (int)lVar17 - 1U)" ( (binary_expression "7 < (int)lVar17 - 1U" number_literal < (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) (goto_statement "goto LAB_00121a48;" goto statement_identifier ;)) }))) (expression_statement "uVar3 = (*DAT_00159e20)(puVar11,lVar17);" (assignment_expression "uVar3 = (*DAT_00159e20)(puVar11,lVar17)" identifier = (call_expression "(*DAT_00159e20)(puVar11,lVar17)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar11,lVar17)" ( identifier , identifier )))) ;) (if_statement "if (uVar3 == 0) goto LAB_00121a48;" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00121a48;" goto statement_identifier ;)) (if_statement "if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }" { (expression_statement "uVar13 = (ulong)DAT_00159b90;" (assignment_expression "uVar13 = (ulong)DAT_00159b90" identifier = (cast_expression "(ulong)DAT_00159b90" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }" if (parenthesized_expression "(DAT_00159b90 < DAT_00159b94)" ( (binary_expression "DAT_00159b90 < DAT_00159b94" identifier < identifier) )) (compound_statement "{\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }" { (expression_statement "DAT_00159b90 = DAT_00159b90 + 1;" (assignment_expression "DAT_00159b90 = DAT_00159b90 + 1" identifier = (binary_expression "DAT_00159b90 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;" (assignment_expression "*(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3" (pointer_expression "*(uint *)(DAT_00159b98 + uVar13 * 4)" * (cast_expression "(uint *)(DAT_00159b98 + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00159b98 + uVar13 * 4)" ( (binary_expression "DAT_00159b98 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) = identifier) ;) }) (else_clause "else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }" else (compound_statement "{\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }" { (expression_statement "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);" (call_expression "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" identifier (argument_list "(0,"Internal error: out of space in the shndx pool.\n",5)" ( number_literal , (string_literal ""Internal error: out of space in the shndx pool.\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "error();" (call_expression "error()" identifier (argument_list "()" ( ))) ;) }))) }) (else_clause "else {\n            printf(" %d",(ulong)uVar3);\n          }" else (compound_statement "{\n            printf(" %d",(ulong)uVar3);\n          }" { (expression_statement "printf(" %d",(ulong)uVar3);" (call_expression "printf(" %d",(ulong)uVar3)" identifier (argument_list "(" %d",(ulong)uVar3)" ( (string_literal "" %d"" " string_content ") , (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }))) (expression_statement "puVar11 = puVar24;" (assignment_expression "puVar11 = puVar24" identifier = identifier) ;) (if_statement "if (puVar2 <= puVar24) break;" if (parenthesized_expression "(puVar2 <= puVar24)" ( (binary_expression "puVar2 <= puVar24" identifier <= identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pcVar8 = "Section %s too small for shndx pool\n";" (assignment_expression "pcVar8 = "Section %s too small for shndx pool\n"" identifier = (string_literal ""Section %s too small for shndx pool\n"" " string_content escape_sequence ")) ;) (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00121880;" goto statement_identifier ;) })) (labeled_statement "LAB_0012190b:\n    uVar22 = uVar22 + 1;" statement_identifier : (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;)) (expression_statement "puVar9 = (undefined8 *)((long)puVar9 + 4U);" (assignment_expression "puVar9 = (undefined8 *)((long)puVar9 + 4U)" identifier = (cast_expression "(undefined8 *)((long)puVar9 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 4U)" ( (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "local_e8 = local_e8 + 1;" (assignment_expression "local_e8 = local_e8 + 1" identifier = (binary_expression "local_e8 + 1" identifier + number_literal)) ;) (if_statement "if ((uint)local_120 <= uVar22) goto LAB_0012191c;" if (parenthesized_expression "((uint)local_120 <= uVar22)" ( (binary_expression "(uint)local_120 <= uVar22" (cast_expression "(uint)local_120" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) )) (goto_statement "goto LAB_0012191c;" goto statement_identifier ;)) (goto_statement "goto LAB_001218e6;" goto statement_identifier ;) })) (if_statement "if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }" if (parenthesized_expression "(uVar3 != 2)" ( (binary_expression "uVar3 != 2" identifier != number_literal) )) (compound_statement "{\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }" { (if_statement "if (param_2 == 0) {\n      return 1;\n    }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Unsupported version (%d)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Unsupported version (%d)\n",5)" identifier (argument_list "(0,"  Unsupported version (%d)\n",5)" ( number_literal , (string_literal ""  Unsupported version (%d)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar3);" (call_expression "printf(pcVar8,(ulong)uVar3)" identifier (argument_list "(pcVar8,(ulong)uVar3)" ( identifier , (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (goto_statement "goto LAB_00121928;" goto statement_identifier ;) })) (expression_statement "uVar3 = uVar22 * 4;" (assignment_expression "uVar3 = uVar22 * 4" identifier = (binary_expression "uVar22 * 4" identifier * number_literal)) ;) (expression_statement "uVar13 = (ulong)uVar3;" (assignment_expression "uVar13 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar19 = (long)puVar16 + uVar13;" (assignment_expression "uVar19 = (long)puVar16 + uVar13" identifier = (binary_expression "(long)puVar16 + uVar13" (cast_expression "(long)puVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier)) ;) (if_statement "if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }" if (parenthesized_expression "((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2)))" ( (binary_expression "(CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))" (parenthesized_expression "(CARRY8((ulong)puVar16,uVar13))" ( (call_expression "CARRY8((ulong)puVar16,uVar13)" identifier (argument_list "((ulong)puVar16,uVar13)" ( (cast_expression "(ulong)puVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) )) || (parenthesized_expression "(uVar22 != (uint)((long)uVar13 >> 2))" ( (binary_expression "uVar22 != (uint)((long)uVar13 >> 2)" identifier != (call_expression "(uint)((long)uVar13 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((long)uVar13 >> 2)" ( (binary_expression "(long)uVar13 >> 2" (cast_expression "(long)uVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal) )))) ))) )) (compound_statement "{\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }" { (expression_statement "uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5)" identifier = (call_expression "dcgettext(0,"Overlarge number of columns: %x\n",5)" identifier (argument_list "(0,"Overlarge number of columns: %x\n",5)" ( number_literal , (string_literal ""Overlarge number of columns: %x\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar22);" (call_expression "warn(uVar14,uVar22)" identifier (argument_list "(uVar14,uVar22)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pbVar20 = *(byte **)(param_1 + 0x10);" (assignment_expression "pbVar20 = *(byte **)(param_1 + 0x10)" identifier = (pointer_expression "*(byte **)(param_1 + 0x10)" * (cast_expression "(byte **)(param_1 + 0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "lVar17 = uVar19 + uVar3 * uVar23;" (assignment_expression "lVar17 = uVar19 + uVar3 * uVar23" identifier = (binary_expression "uVar19 + uVar3 * uVar23" identifier + (binary_expression "uVar3 * uVar23" identifier * identifier))) ;) (expression_statement "puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);" (assignment_expression "puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17)" identifier = (cast_expression "(undefined8 *)((ulong)(uVar3 * uVar23) + lVar17)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uVar3 * uVar23) + lVar17)" ( (binary_expression "(ulong)(uVar3 * uVar23) + lVar17" (call_expression "(ulong)(uVar3 * uVar23)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 * uVar23)" ( (binary_expression "uVar3 * uVar23" identifier * identifier) ))) + identifier) )))) ;) (expression_statement "bVar26 = puVar2 < puVar11;" (assignment_expression "bVar26 = puVar2 < puVar11" identifier = (binary_expression "puVar2 < puVar11" identifier < identifier)) ;) (expression_statement "bVar28 = puVar2 == puVar11;" (assignment_expression "bVar28 = puVar2 == puVar11" identifier = (binary_expression "puVar2 == puVar11" identifier == identifier)) ;) (if_statement "if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }" { (expression_statement "uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5)" identifier = (call_expression "dcgettext(0,"Section %s too small for offset and size tables\n",5)" identifier (argument_list "(0,"Section %s too small for offset and size tables\n",5)" ( number_literal , (string_literal ""Section %s too small for offset and size tables\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,pbVar20);" (call_expression "warn(uVar14,pbVar20)" identifier (argument_list "(uVar14,pbVar20)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "lVar15 = 0x10;" (assignment_expression "lVar15 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar21 = (byte *)".debug_tu_index";" (assignment_expression "pbVar21 = (byte *)".debug_tu_index"" identifier = (cast_expression "(byte *)".debug_tu_index"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_tu_index"" " string_content "))) ;) (do_statement "do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);" do (compound_statement "{\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  }" { (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" identifier = (binary_expression "lVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar20 < *pbVar21;" (assignment_expression "bVar26 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar28 = *pbVar20 == *pbVar21;" (assignment_expression "bVar28 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar29 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar29 * -2" identifier + (binary_expression "(ulong)bVar29 * -2" (cast_expression "(ulong)bVar29" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1" identifier = (binary_expression "pbVar21 + (ulong)bVar29 * -2 + 1" (binary_expression "pbVar21 + (ulong)bVar29 * -2" identifier + (binary_expression "(ulong)bVar29 * -2" (cast_expression "(ulong)bVar29" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "bVar28 = !bVar26 && !bVar28;" (assignment_expression "bVar28 = !bVar26 && !bVar28" identifier = (binary_expression "!bVar26 && !bVar28" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar28" ! identifier))) ;) (if_statement "if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }" { (if_statement "if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }" if (parenthesized_expression "(bVar28 == bVar26)" ( (binary_expression "bVar28 == bVar26" identifier == identifier) )) (compound_statement "{\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }" { (expression_statement "DAT_00159b78 = uVar23;" (assignment_expression "DAT_00159b78 = uVar23" identifier = identifier) ;) (expression_statement "DAT_00159b68 = FUN_001214b0(uVar23,0x88);" (assignment_expression "DAT_00159b68 = FUN_001214b0(uVar23,0x88)" identifier = (call_expression "FUN_001214b0(uVar23,0x88)" identifier (argument_list "(uVar23,0x88)" ( identifier , number_literal )))) ;) (expression_statement "local_b0 = DAT_00159b68;" (assignment_expression "local_b0 = DAT_00159b68" identifier = identifier) ;) }) (else_clause "else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }" else (compound_statement "{\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }" { (expression_statement "DAT_00159b7c = uVar23;" (assignment_expression "DAT_00159b7c = uVar23" identifier = identifier) ;) (expression_statement "DAT_00159b70 = FUN_001214b0(uVar23,0x88);" (assignment_expression "DAT_00159b70 = FUN_001214b0(uVar23,0x88)" identifier = (call_expression "FUN_001214b0(uVar23,0x88)" identifier (argument_list "(uVar23,0x88)" ( identifier , number_literal )))) ;) (expression_statement "local_b0 = DAT_00159b70;" (assignment_expression "local_b0 = DAT_00159b70" identifier = identifier) ;) }))) (if_statement "if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }" { (labeled_statement "LAB_00121c31:\n      uVar25 = 0;" statement_identifier : (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;)) (expression_statement "puVar11 = local_e8;" (assignment_expression "puVar11 = local_e8" identifier = identifier) ;) (expression_statement "puVar24 = puVar9;" (assignment_expression "puVar24 = puVar9" identifier = identifier) ;) (do_statement "do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);" do (compound_statement "{\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      }" { (expression_statement "puVar1 = puVar11 + 1;" (assignment_expression "puVar1 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (if_statement "if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }" if (parenthesized_expression "(puVar2 < puVar1)" ( (binary_expression "puVar2 < puVar1" identifier < identifier) )) (compound_statement "{\n          local_88 = 0;\n          local_80 = 0;\n        }" { (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }" else (compound_statement "{\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }" { (expression_statement "FUN_00137d20(puVar11,&local_88,&local_80);" (call_expression "FUN_00137d20(puVar11,&local_88,&local_80)" identifier (argument_list "(puVar11,&local_88,&local_80)" ( identifier , (pointer_expression "&local_88" & identifier) , (pointer_expression "&local_80" & identifier) ))) ;) }))) (if_statement "if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;" if (parenthesized_expression "((undefined8 *)((long)puVar24 + 4U) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar24 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar24 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 4U)" ( (binary_expression "(long)puVar24 + 4U" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);" statement_identifier : (expression_statement "uVar4 = (*DAT_00159e20)(puVar24,lVar15);" (assignment_expression "uVar4 = (*DAT_00159e20)(puVar24,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar24,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar24,lVar15)" ( identifier , identifier )))) ;)) (if_statement "if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }" { (if_statement "if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }" if (parenthesized_expression "(uVar23 < uVar4)" ( (binary_expression "uVar23 < uVar4" identifier < identifier) )) (compound_statement "{\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }" { (expression_statement "uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5)" identifier = (call_expression "dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5)" identifier (argument_list "(0,"Row index (%u) is larger than number of used entries (%u)\n",5)" ( number_literal , (string_literal ""Row index (%u) is larger than number of used entries (%u)\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar4,uVar23);" (call_expression "warn(uVar14,uVar4,uVar23)" identifier (argument_list "(uVar14,uVar4,uVar23)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }" { (if_statement "if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }" if (parenthesized_expression "(puVar2 <= puVar1)" ( (binary_expression "puVar2 <= puVar1" identifier <= identifier) )) (compound_statement "{\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }" { (expression_statement "uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5)" identifier = (call_expression "dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5)" identifier (argument_list "(0,"Signature (%p) extends beyond end of space in section\n",5)" ( number_literal , (string_literal ""Signature (%p) extends beyond end of space in section\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,puVar11);" (call_expression "warn(uVar14,puVar11)" identifier (argument_list "(uVar14,puVar11)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);" (assignment_expression "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3)" identifier = (call_expression "(ulong)((uVar4 + 0x3fffffff) * uVar3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar4 + 0x3fffffff) * uVar3)" ( (binary_expression "(uVar4 + 0x3fffffff) * uVar3" (parenthesized_expression "(uVar4 + 0x3fffffff)" ( (binary_expression "uVar4 + 0x3fffffff" identifier + number_literal) )) * identifier) )))) ;) (expression_statement "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);" (assignment_expression "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" identifier = (cast_expression "(undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b0 + (ulong)(uVar4 - 1) * 0x88)" ( (binary_expression "local_b0 + (ulong)(uVar4 - 1) * 0x88" identifier + (binary_expression "(ulong)(uVar4 - 1) * 0x88" (call_expression "(ulong)(uVar4 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 - 1)" ( (binary_expression "uVar4 - 1" identifier - number_literal) ))) * number_literal)) )))) ;) (expression_statement "*local_f0 = *puVar11;" (assignment_expression "*local_f0 = *puVar11" (pointer_expression "*local_f0" * identifier) = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "puVar11 = (undefined8 *)(uVar13 + uVar19);" (assignment_expression "puVar11 = (undefined8 *)(uVar13 + uVar19)" identifier = (cast_expression "(undefined8 *)(uVar13 + uVar19)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 + uVar19)" ( (binary_expression "uVar13 + uVar19" identifier + identifier) )))) ;) (if_statement "if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }" if (parenthesized_expression "((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11))" ( (binary_expression "(CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)" (parenthesized_expression "(CARRY8(uVar13,uVar19))" ( (call_expression "CARRY8(uVar13,uVar19)" identifier (argument_list "(uVar13,uVar19)" ( identifier , identifier ))) )) || (parenthesized_expression "(puVar2 < puVar11)" ( (binary_expression "puVar2 < puVar11" identifier < identifier) ))) )) (compound_statement "{\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }" { (labeled_statement "LAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);" statement_identifier : (expression_statement "uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);" (assignment_expression "uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5)" identifier = (call_expression "dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5)" identifier (argument_list "(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5)" ( number_literal , (string_literal ""Row index (%u) * num columns (%u) > space remaining in section\n"" " string_content escape_sequence ") , number_literal )))) ;)) (expression_statement "warn(uVar14,uVar4,uVar22);" (call_expression "warn(uVar14,uVar4,uVar22)" identifier (argument_list "(uVar14,uVar4,uVar22)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }" { (labeled_statement "LAB_00121d72:\n                uVar4 = 0;" statement_identifier : (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;)) (expression_statement "puVar18 = puVar16;" (assignment_expression "puVar18 = puVar16" identifier = identifier) ;) (do_statement "do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);" do (compound_statement "{\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                }" { (if_statement "if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }" if (parenthesized_expression "((undefined8 *)((long)puVar11 + 4) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar11 + 4) < puVar2" (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);" statement_identifier : (expression_statement "uVar13 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar13 = (*DAT_00159e20)(puVar11,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar11,lVar15)" ( identifier , identifier )))) ;)) (expression_statement "uVar13 = uVar13 & 0xffffffff;" (assignment_expression "uVar13 = uVar13 & 0xffffffff" identifier = (binary_expression "uVar13 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (param_2 == 0) goto LAB_00121dca;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00121dca;" goto statement_identifier ;)) (labeled_statement "LAB_00121e76:\n                    printf(" %8d",uVar13);" statement_identifier : (expression_statement "printf(" %8d",uVar13);" (call_expression "printf(" %8d",uVar13)" identifier (argument_list "(" %8d",uVar13)" ( (string_literal "" %8d"" " string_content ") , identifier ))) ;)) }) (else_clause "else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }" else (compound_statement "{\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;" if (parenthesized_expression "((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" ( (binary_expression "puVar11 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" identifier = (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00121e65;" goto statement_identifier ;)) (if_statement "if (param_2 != 0) goto LAB_00121e76;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00121e76;" goto statement_identifier ;)) (labeled_statement "LAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" statement_identifier : (if_statement "if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" if (parenthesized_expression "((undefined8 *)((long)puVar18 + 4U) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar18 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar18 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 4U)" ( (binary_expression "(long)puVar18 + 4U" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);" statement_identifier : (expression_statement "uVar5 = (*DAT_00159e20)(puVar18,lVar15);" (assignment_expression "uVar5 = (*DAT_00159e20)(puVar18,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar18,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar18,lVar15)" ( identifier , identifier )))) ;)) (expression_statement "uVar12 = (ulong)uVar5;" (assignment_expression "uVar12 = (ulong)uVar5" identifier = (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }" if (parenthesized_expression "(7 < uVar5)" ( (binary_expression "7 < uVar5" number_literal < identifier) )) (compound_statement "{\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }" { (expression_statement "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" identifier = (call_expression "dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" identifier (argument_list "(0,"Overlarge Dwarf section index detected: %u\n",5)" ( number_literal , (string_literal ""Overlarge Dwarf section index detected: %u\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar5);" (call_expression "warn(uVar14,uVar5)" identifier (argument_list "(uVar14,uVar5)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00121dfa;" goto statement_identifier ;) })) }) (else_clause "else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" else (compound_statement "{\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" { (if_statement "if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;" if (parenthesized_expression "((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar18 < puVar2)" ( (binary_expression "puVar18 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar18" identifier = (binary_expression "(long)puVar2 - (long)puVar18" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00121e95;" goto statement_identifier ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) })))) (expression_statement "local_f0[uVar12 + 1] = uVar13;" (assignment_expression "local_f0[uVar12 + 1] = uVar13" (subscript_expression "local_f0[uVar12 + 1]" identifier [ (binary_expression "uVar12 + 1" identifier + number_literal) ]) = identifier) ;) }))) (labeled_statement "LAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);" statement_identifier : (expression_statement "puVar18 = (undefined8 *)((long)puVar18 + 4);" (assignment_expression "puVar18 = (undefined8 *)((long)puVar18 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar18 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 4)" ( (binary_expression "(long)puVar18 + 4" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;)) (expression_statement "uVar4 = uVar4 + 1;" (assignment_expression "uVar4 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar11 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar11 = (undefined8 *)((long)puVar11 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar4 < uVar22)" ( (binary_expression "uVar4 < uVar22" identifier < identifier) )) ;) (if_statement "if (param_2 != 0) goto LAB_00121e1f;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00121e1f;" goto statement_identifier ;)) })) }) (else_clause "else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" else (compound_statement "{\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" { (expression_statement "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);" (assignment_expression "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3)" identifier = (call_expression "(ulong)((uVar4 + 0x3fffffff) * uVar3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar4 + 0x3fffffff) * uVar3)" ( (binary_expression "(uVar4 + 0x3fffffff) * uVar3" (parenthesized_expression "(uVar4 + 0x3fffffff)" ( (binary_expression "uVar4 + 0x3fffffff" identifier + number_literal) )) * identifier) )))) ;) (expression_statement "puVar11 = (undefined8 *)(uVar13 + uVar19);" (assignment_expression "puVar11 = (undefined8 *)(uVar13 + uVar19)" identifier = (cast_expression "(undefined8 *)(uVar13 + uVar19)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 + uVar19)" ( (binary_expression "uVar13 + uVar19" identifier + identifier) )))) ;) (if_statement "if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;" if (parenthesized_expression "((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11))" ( (binary_expression "(CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)" (parenthesized_expression "(CARRY8(uVar13,uVar19))" ( (call_expression "CARRY8(uVar13,uVar19)" identifier (argument_list "(uVar13,uVar19)" ( identifier , identifier ))) )) || (parenthesized_expression "(puVar2 < puVar11)" ( (binary_expression "puVar2 < puVar11" identifier < identifier) ))) )) (goto_statement "goto LAB_00122050;" goto statement_identifier ;)) (expression_statement "uVar14 = FUN_001106c0(local_88,local_80,local_78);" (assignment_expression "uVar14 = FUN_001106c0(local_88,local_80,local_78)" identifier = (call_expression "FUN_001106c0(local_88,local_80,local_78)" identifier (argument_list "(local_88,local_80,local_78)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  [%3d] 0x%s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  [%3d] 0x%s",5)" identifier (argument_list "(0,"  [%3d] 0x%s",5)" ( number_literal , (string_literal ""  [%3d] 0x%s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar25,uVar14);" (call_expression "printf(pcVar8,(ulong)uVar25,uVar14)" identifier (argument_list "(pcVar8,(ulong)uVar25,uVar14)" ( identifier , (cast_expression "(ulong)uVar25" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) (if_statement "if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }" { (expression_statement "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);" (assignment_expression "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" identifier = (cast_expression "(undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b0 + (ulong)(uVar4 - 1) * 0x88)" ( (binary_expression "local_b0 + (ulong)(uVar4 - 1) * 0x88" identifier + (binary_expression "(ulong)(uVar4 - 1) * 0x88" (call_expression "(ulong)(uVar4 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 - 1)" ( (binary_expression "uVar4 - 1" identifier - number_literal) ))) * number_literal)) )))) ;) (goto_statement "goto LAB_00121d72;" goto statement_identifier ;) })) (labeled_statement "LAB_00121e1f:\n              putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) }))) })) }) (else_clause "else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;" else (if_statement "if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;" if (parenthesized_expression "((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                )" ( (binary_expression "(puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar24 < puVar2)" ( (binary_expression "puVar24 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar24" identifier = (binary_expression "(long)puVar2 - (long)puVar24" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00121cdf;" goto statement_identifier ;)))) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) (expression_statement "puVar11 = puVar1;" (assignment_expression "puVar11 = puVar1" identifier = identifier) ;) (expression_statement "puVar24 = (undefined8 *)((long)puVar24 + 4U);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar24 + 4U)" identifier = (cast_expression "(undefined8 *)((long)puVar24 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 4U)" ( (binary_expression "(long)puVar24 + 4U" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar25 < (uint)local_120)" ( (binary_expression "uVar25 < (uint)local_120" identifier < (cast_expression "(uint)local_120" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) (if_statement "if (param_2 != 0) goto LAB_001224d4;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001224d4;" goto statement_identifier ;)) })) (if_statement "if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }" { (labeled_statement "LAB_001220c6:\n      uVar23 = 0;" statement_identifier : (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;)) (expression_statement "puVar11 = puVar16;" (assignment_expression "puVar11 = puVar16" identifier = identifier) ;) (do_statement "do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);" do (compound_statement "{\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      }" { (if_statement "if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }" if (parenthesized_expression "((undefined8 *)((long)puVar11 + 4) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar11 + 4) < puVar2" (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);" statement_identifier : (expression_statement "uVar6 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar6 = (*DAT_00159e20)(puVar11,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar11,lVar15)" ( identifier , identifier )))) ;)) }) (else_clause "else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }" else (compound_statement "{\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;" if (parenthesized_expression "((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" ( (binary_expression "puVar11 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" identifier = (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_0012210c;" goto statement_identifier ;)) }))) (if_statement "if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }" { (expression_statement "uVar14 = FUN_001100d0(uVar6);" (assignment_expression "uVar14 = FUN_001100d0(uVar6)" identifier = (call_expression "FUN_001100d0(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "printf(" %8s",uVar14);" (call_expression "printf(" %8s",uVar14)" identifier (argument_list "(" %8s",uVar14)" ( (string_literal "" %8s"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;) (expression_statement "puVar11 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar11 = (undefined8 *)((long)puVar11 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar23 < uVar22)" ( (binary_expression "uVar23 < uVar22" identifier < identifier) )) ;) (if_statement "if (param_2 != 0) goto LAB_0012253d;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012253d;" goto statement_identifier ;)) })) (if_statement "if (!bVar27) {\n      return 1;\n    }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }" else (compound_statement "{\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }" { (expression_statement "pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Offset table\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset table\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset table\n",5)" identifier (argument_list "(0,"  Offset table\n",5)" ( number_literal , (string_literal ""  Offset table\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8);" (call_expression "printf(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;) (if_statement "if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" if (parenthesized_expression "(bVar28 == bVar26)" ( (binary_expression "bVar28 == bVar26" identifier == identifier) )) (compound_statement "{\n      uVar14 = dcgettext(0,"signature",5);\n    }" { (expression_statement "uVar14 = dcgettext(0,"signature",5);" (assignment_expression "uVar14 = dcgettext(0,"signature",5)" identifier = (call_expression "dcgettext(0,"signature",5)" identifier (argument_list "(0,"signature",5)" ( number_literal , (string_literal ""signature"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" else (compound_statement "{\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" { (expression_statement "uVar14 = dcgettext(0,"dwo_id",5);" (assignment_expression "uVar14 = dcgettext(0,"dwo_id",5)" identifier = (call_expression "dcgettext(0,"dwo_id",5)" identifier (argument_list "(0,"dwo_id",5)" ( number_literal , (string_literal ""dwo_id"" " string_content ") , number_literal )))) ;) }))) (expression_statement "printf("  slot  %-16s  ",uVar14);" (call_expression "printf("  slot  %-16s  ",uVar14)" identifier (argument_list "("  slot  %-16s  ",uVar14)" ( (string_literal ""  slot  %-16s  "" " string_content ") , identifier ))) ;) (if_statement "if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }" { (expression_statement "puVar11 = puVar16;" (assignment_expression "puVar11 = puVar16" identifier = identifier) ;) (do_statement "do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);" do (compound_statement "{\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      }" { (expression_statement "puVar24 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar11 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }" if (parenthesized_expression "(puVar24 < puVar2)" ( (binary_expression "puVar24 < puVar2" identifier < identifier) )) (compound_statement "{\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);" statement_identifier : (expression_statement "uVar6 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar6 = (*DAT_00159e20)(puVar11,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar11,lVar15)" ( identifier , identifier )))) ;)) }) (else_clause "else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }" else (compound_statement "{\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;" if (parenthesized_expression "((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" ( (binary_expression "puVar11 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" identifier = (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001224a9;" goto statement_identifier ;)) }))) (expression_statement "uVar14 = FUN_001100d0(uVar6);" (assignment_expression "uVar14 = FUN_001100d0(uVar6)" identifier = (call_expression "FUN_001100d0(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "printf(" %8s",uVar14);" (call_expression "printf(" %8s",uVar14)" identifier (argument_list "(" %8s",uVar14)" ( (string_literal "" %8s"" " string_content ") , identifier ))) ;) (expression_statement "puVar11 = puVar24;" (assignment_expression "puVar11 = puVar24" identifier = identifier) ;) }) while (parenthesized_expression "((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24)" ( (binary_expression "(undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24" (cast_expression "(undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4)" ( (binary_expression "(long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4" (binary_expression "(long)puVar16 + (ulong)(uVar22 - 1) * 4" (cast_expression "(long)puVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)(uVar22 - 1) * 4" (call_expression "(ulong)(uVar22 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar22 - 1)" ( (binary_expression "uVar22 - 1" identifier - number_literal) ))) * number_literal)) + number_literal) ))) != identifier) )) ;) })) (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (if_statement "if (bVar27) goto LAB_00121c31;" if (parenthesized_expression "(bVar27)" ( identifier )) (goto_statement "goto LAB_00121c31;" goto statement_identifier ;)) (labeled_statement "LAB_001224d4:\n    putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Size table\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Size table\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Size table\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Size table\n",5)" identifier (argument_list "(0,"  Size table\n",5)" ( number_literal , (string_literal ""  Size table\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar8);" (call_expression "printf(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;) (if_statement "if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" if (parenthesized_expression "(bVar28 == bVar26)" ( (binary_expression "bVar28 == bVar26" identifier == identifier) )) (compound_statement "{\n      uVar14 = dcgettext(0,"signature",5);\n    }" { (expression_statement "uVar14 = dcgettext(0,"signature",5);" (assignment_expression "uVar14 = dcgettext(0,"signature",5)" identifier = (call_expression "dcgettext(0,"signature",5)" identifier (argument_list "(0,"signature",5)" ( number_literal , (string_literal ""signature"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" else (compound_statement "{\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" { (expression_statement "uVar14 = dcgettext(0,"dwo_id",5);" (assignment_expression "uVar14 = dcgettext(0,"dwo_id",5)" identifier = (call_expression "dcgettext(0,"dwo_id",5)" identifier (argument_list "(0,"dwo_id",5)" ( number_literal , (string_literal ""dwo_id"" " string_content ") , number_literal )))) ;) }))) (expression_statement "printf("  slot  %-16s  ",uVar14);" (call_expression "printf("  slot  %-16s  ",uVar14)" identifier (argument_list "("  slot  %-16s  ",uVar14)" ( (string_literal ""  slot  %-16s  "" " string_content ") , identifier ))) ;) (if_statement "if (uVar22 != 0) goto LAB_001220c6;" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001220c6;" goto statement_identifier ;)) (labeled_statement "LAB_0012253d:\n    putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (if_statement "if (!bVar27) goto LAB_00121928;" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (goto_statement "goto LAB_00121928;" goto statement_identifier ;)) }))) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);" do (compound_statement "{\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  }" { (if_statement "if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }" if (parenthesized_expression "(puVar2 < local_e8 + 1)" ( (binary_expression "puVar2 < local_e8 + 1" identifier < (binary_expression "local_e8 + 1" identifier + number_literal)) )) (compound_statement "{\n      local_88 = 0;\n      local_80 = 0;\n    }" { (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }" else (compound_statement "{\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }" { (expression_statement "FUN_00137d20(local_e8,&local_88,&local_80);" (call_expression "FUN_00137d20(local_e8,&local_88,&local_80)" identifier (argument_list "(local_e8,&local_88,&local_80)" ( identifier , (pointer_expression "&local_88" & identifier) , (pointer_expression "&local_80" & identifier) ))) ;) }))) (if_statement "if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;" if (parenthesized_expression "((undefined8 *)((long)puVar9 + 4U) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar9 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar9 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 4U)" ( (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);" statement_identifier : (expression_statement "iVar7 = (*DAT_00159e20)(puVar9,lVar15);" (assignment_expression "iVar7 = (*DAT_00159e20)(puVar9,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar9,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar9,lVar15)" ( identifier , identifier )))) ;)) (if_statement "if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }" { (if_statement "if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }" { (if_statement "if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }" { (labeled_statement "LAB_00122220:\n            uVar25 = 0;" statement_identifier : (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;)) (expression_statement "puVar11 = puVar16;" (assignment_expression "puVar11 = puVar16" identifier = identifier) ;) (expression_statement "puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));" (assignment_expression "puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3))" identifier = (cast_expression "(undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3))" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3))" ( (binary_expression "lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3)" identifier + (call_expression "(ulong)((iVar7 + 0x3fffffff) * uVar3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((iVar7 + 0x3fffffff) * uVar3)" ( (binary_expression "(iVar7 + 0x3fffffff) * uVar3" (parenthesized_expression "(iVar7 + 0x3fffffff)" ( (binary_expression "iVar7 + 0x3fffffff" identifier + number_literal) )) * identifier) )))) )))) ;) (do_statement "do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);" do (compound_statement "{\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            }" { (if_statement "if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }" if (parenthesized_expression "((undefined8 *)((long)puVar24 + 4) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar24 + 4) < puVar2" (cast_expression "(undefined8 *)((long)puVar24 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 4)" ( (binary_expression "(long)puVar24 + 4" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);" statement_identifier : (expression_statement "uVar13 = (*DAT_00159e20)(puVar24,lVar15);" (assignment_expression "uVar13 = (*DAT_00159e20)(puVar24,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar24,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar24,lVar15)" ( identifier , identifier )))) ;)) (expression_statement "uVar13 = uVar13 & 0xffffffff;" (assignment_expression "uVar13 = uVar13 & 0xffffffff" identifier = (binary_expression "uVar13 & 0xffffffff" identifier & number_literal)) ;) }) (else_clause "else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }" else (compound_statement "{\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;" if (parenthesized_expression "((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar24 < puVar2)" ( (binary_expression "puVar24 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar24" identifier = (binary_expression "(long)puVar2 - (long)puVar24" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001222f5;" goto statement_identifier ;)) }))) (if_statement "if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }" { (if_statement "if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }" if (parenthesized_expression "((undefined8 *)((long)puVar11 + 4U) < puVar2)" ( (binary_expression "(undefined8 *)((long)puVar11 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar11 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4U)" ( (binary_expression "(long)puVar11 + 4U" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) )) (compound_statement "{\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }" { (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);" statement_identifier : (expression_statement "uVar4 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar4 = (*DAT_00159e20)(puVar11,lVar15)" identifier = (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" ( (pointer_expression "*DAT_00159e20" * identifier) )) (argument_list "(puVar11,lVar15)" ( identifier , identifier )))) ;)) (expression_statement "uVar19 = (ulong)uVar4;" (assignment_expression "uVar19 = (ulong)uVar4" identifier = (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }" if (parenthesized_expression "(7 < uVar4)" ( (binary_expression "7 < uVar4" number_literal < identifier) )) (compound_statement "{\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }" { (expression_statement "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" identifier = (call_expression "dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" identifier (argument_list "(0,"Overlarge Dwarf section index detected: %u\n",5)" ( number_literal , (string_literal ""Overlarge Dwarf section index detected: %u\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,uVar4);" (call_expression "warn(uVar14,uVar4)" identifier (argument_list "(uVar14,uVar4)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_001222b6;" goto statement_identifier ;) })) }) (else_clause "else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }" else (compound_statement "{\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }" { (if_statement "if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;" if (parenthesized_expression "((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" ( (binary_expression "puVar11 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" identifier = (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_00122305;" goto statement_identifier ;)) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }))) (expression_statement "*(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;" (assignment_expression "*(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13" (pointer_expression "*(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8)" * (cast_expression "(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8)" ( (binary_expression "local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8" (binary_expression "local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48" (binary_expression "local_b0 + (ulong)(iVar7 - 1) * 0x88" identifier + (binary_expression "(ulong)(iVar7 - 1) * 0x88" (call_expression "(ulong)(iVar7 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar7 - 1)" ( (binary_expression "iVar7 - 1" identifier - number_literal) ))) * number_literal)) + number_literal) + (binary_expression "uVar19 * 8" identifier * number_literal)) )))) = identifier) ;) }) (else_clause "else {\n                printf(" %8d",uVar13);\n              }" else (compound_statement "{\n                printf(" %8d",uVar13);\n              }" { (expression_statement "printf(" %8d",uVar13);" (call_expression "printf(" %8d",uVar13)" identifier (argument_list "(" %8d",uVar13)" ( (string_literal "" %8d"" " string_content ") , identifier ))) ;) }))) (labeled_statement "LAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);" statement_identifier : (expression_statement "puVar11 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar11 = (undefined8 *)((long)puVar11 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar11 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 4)" ( (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;)) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) (expression_statement "puVar24 = (undefined8 *)((long)puVar24 + 4);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar24 + 4)" identifier = (cast_expression "(undefined8 *)((long)puVar24 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 4)" ( (binary_expression "(long)puVar24 + 4" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar25 < uVar22)" ( (binary_expression "uVar25 < uVar22" identifier < identifier) )) ;) (if_statement "if (param_2 != 0) goto LAB_001222dc;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001222dc;" goto statement_identifier ;)) })) }) (else_clause "else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" else (compound_statement "{\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" { (expression_statement "uVar14 = FUN_001106c0(local_88,local_80,local_78);" (assignment_expression "uVar14 = FUN_001106c0(local_88,local_80,local_78)" identifier = (call_expression "FUN_001106c0(local_88,local_80,local_78)" identifier (argument_list "(local_88,local_80,local_78)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  [%3d] 0x%s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  [%3d] 0x%s",5)" identifier (argument_list "(0,"  [%3d] 0x%s",5)" ( number_literal , (string_literal ""  [%3d] 0x%s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar8,(ulong)uVar23,uVar14);" (call_expression "printf(pcVar8,(ulong)uVar23,uVar14)" identifier (argument_list "(pcVar8,(ulong)uVar23,uVar14)" ( identifier , (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) (if_statement "if (uVar22 != 0) goto LAB_00122220;" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00122220;" goto statement_identifier ;)) (labeled_statement "LAB_001222dc:\n          putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) }))) })) }) (else_clause "else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;" else (if_statement "if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;" if (parenthesized_expression "((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))" ( (binary_expression "(puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar9 < puVar2)" ( (binary_expression "puVar9 < puVar2" identifier < identifier) )) && (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8)" ( (comma_expression "lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar9" identifier = (binary_expression "(long)puVar2 - (long)puVar9" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal)) ))) )) (goto_statement "goto LAB_001221df;" goto statement_identifier ;)))) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;) (expression_statement "local_e8 = local_e8 + 1;" (assignment_expression "local_e8 = local_e8 + 1" identifier = (binary_expression "local_e8 + 1" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined8 *)((long)puVar9 + 4U);" (assignment_expression "puVar9 = (undefined8 *)((long)puVar9 + 4U)" identifier = (cast_expression "(undefined8 *)((long)puVar9 + 4U)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 4U)" ( (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar23 < (uint)local_120)" ( (binary_expression "uVar23 < (uint)local_120" identifier < (cast_expression "(uint)local_120" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) (labeled_statement "LAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }" statement_identifier : (if_statement "if (param_2 == 0) {\n    return 1;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) }))) (labeled_statement "LAB_00121928:\n  putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (return_statement "return 1;" return number_literal ;) (labeled_statement "LAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }" statement_identifier : (if_statement "if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }" { (expression_statement "uVar13 = (ulong)DAT_00159b90;" (assignment_expression "uVar13 = (ulong)DAT_00159b90" identifier = (cast_expression "(ulong)DAT_00159b90" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }" if (parenthesized_expression "(DAT_00159b90 < DAT_00159b94)" ( (binary_expression "DAT_00159b90 < DAT_00159b94" identifier < identifier) )) (compound_statement "{\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }" { (expression_statement "DAT_00159b90 = DAT_00159b90 + 1;" (assignment_expression "DAT_00159b90 = DAT_00159b90 + 1" identifier = (binary_expression "DAT_00159b90 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;" (assignment_expression "*(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0" (pointer_expression "*(undefined4 *)(DAT_00159b98 + uVar13 * 4)" * (cast_expression "(undefined4 *)(DAT_00159b98 + uVar13 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00159b98 + uVar13 * 4)" ( (binary_expression "DAT_00159b98 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) = number_literal) ;) }) (else_clause "else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }" else (compound_statement "{\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }" { (expression_statement "uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" identifier = (call_expression "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" identifier (argument_list "(0,"Internal error: out of space in the shndx pool.\n",5)" ( number_literal , (string_literal ""Internal error: out of space in the shndx pool.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar14);" (call_expression "error(uVar14)" identifier (argument_list "(uVar14)" ( identifier ))) ;) }))) }) (else_clause "else {\n    putchar(10);\n  }" else (compound_statement "{\n    putchar(10);\n  }" { (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;) })))) (goto_statement "goto LAB_0012190b;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 ))) ;) (return_statement return LIT ;) })) (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 ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - LIT)) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) 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 , 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) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) , IDENT )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT * LIT) ))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT * LIT) ))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT != LIT)) , (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( IDENT )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , (string_literal " string_content escape_sequence ") , (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 ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) < IDENT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) ))) - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (binary_expression IDENT - LIT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (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 ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT & LIT) ))) ;)) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) , LIT )))) ;) }) (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 , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) }))) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (return_statement return LIT ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & 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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT * LIT) ))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT * LIT) ))) , (cast_expression ( (type_descriptor TYPE) ) 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 ))) ;) (return_statement return LIT ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) )) (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) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (goto_statement goto statement_identifier ;)) (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) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) )) || (parenthesized_expression ( (binary_expression IDENT != (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) 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 ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT * IDENT) ))) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) (if_statement if (parenthesized_expression ( 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 ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (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 = (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT))) ;) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) < 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 { (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 , IDENT ))) ;) (return_statement return 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 = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT , IDENT ))) )) || (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , 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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < 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 ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) })))) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT , IDENT ))) )) || (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) * LIT)) )))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) }))) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) < 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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (return_statement return LIT ;) })) }) (else_clause else (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 ))) ;) (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 ") , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) 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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) * LIT)) + LIT) ))) != IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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 ") , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) < 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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * IDENT) )))) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < 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 ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) * LIT)) + LIT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) }))) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) (return_statement return LIT ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = LIT) ;) }) (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 ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })))) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined8 FUN_00121500(long param_1,int param_2)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  undefined8 *puVar9;\n  undefined8 uVar10;\n  undefined8 *puVar11;\n  ulong uVar12;\n  ulong uVar13;\n  undefined8 uVar14;\n  long lVar15;\n  undefined8 *puVar16;\n  long lVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined8 *puVar24;\n  uint uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  ulong local_120;\n  undefined8 *local_f0;\n  undefined8 *local_e8;\n  long local_b0;\n  long local_88;\n  long local_80;\n  undefined1 local_78 [72];\n  \n  bVar29 = 0;\n  local_e8 = *(undefined8 **)(param_1 + 0x20);\n  uVar13 = *(ulong *)(param_1 + 0x30);\n  if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }\n  if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  puVar2 = (undefined8 *)((long)local_e8 + uVar13);\n  puVar9 = (undefined8 *)((long)local_e8 + 4);\n  puVar16 = local_e8 + 1;\n  if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }\njoined_r0x001217d3:\n  uVar13 = local_120;\n  if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }\n  local_e8 = local_e8 + 2;\n  local_120._0_4_ = (uint)uVar13;\n  if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }\n  if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }\n  uVar3 = uVar22 * 4;\n  uVar13 = (ulong)uVar3;\n  uVar19 = (long)puVar16 + uVar13;\n  if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }\n  pbVar20 = *(byte **)(param_1 + 0x10);\n  lVar17 = uVar19 + uVar3 * uVar23;\n  puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);\n  bVar26 = puVar2 < puVar11;\n  bVar28 = puVar2 == puVar11;\n  if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }\n  lVar15 = 0x10;\n  pbVar21 = (byte *)".debug_tu_index";\n  do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);\n  bVar28 = !bVar26 && !bVar28;\n  if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }\n  uVar23 = 0;\n  do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);\nLAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}" (type_identifier "undefined8") (function_declarator "FUN_00121500(long param_1,int param_2)" (identifier "FUN_00121500") (parameter_list "(long param_1,int param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  undefined8 *puVar9;\n  undefined8 uVar10;\n  undefined8 *puVar11;\n  ulong uVar12;\n  ulong uVar13;\n  undefined8 uVar14;\n  long lVar15;\n  undefined8 *puVar16;\n  long lVar17;\n  undefined8 *puVar18;\n  ulong uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined8 *puVar24;\n  uint uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  ulong local_120;\n  undefined8 *local_f0;\n  undefined8 *local_e8;\n  long local_b0;\n  long local_88;\n  long local_80;\n  undefined1 local_78 [72];\n  \n  bVar29 = 0;\n  local_e8 = *(undefined8 **)(param_1 + 0x20);\n  uVar13 = *(ulong *)(param_1 + 0x30);\n  if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }\n  if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }\n  puVar2 = (undefined8 *)((long)local_e8 + uVar13);\n  puVar9 = (undefined8 *)((long)local_e8 + 4);\n  puVar16 = local_e8 + 1;\n  if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }\njoined_r0x001217d3:\n  uVar13 = local_120;\n  if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }\n  local_e8 = local_e8 + 2;\n  local_120._0_4_ = (uint)uVar13;\n  if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }\n  if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }\n  if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }\n  uVar3 = uVar22 * 4;\n  uVar13 = (ulong)uVar3;\n  uVar19 = (long)puVar16 + uVar13;\n  if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }\n  pbVar20 = *(byte **)(param_1 + 0x10);\n  lVar17 = uVar19 + uVar3 * uVar23;\n  puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);\n  bVar26 = puVar2 < puVar11;\n  bVar28 = puVar2 == puVar11;\n  if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }\n  lVar15 = 0x10;\n  pbVar21 = (byte *)".debug_tu_index";\n  do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);\n  bVar28 = !bVar26 && !bVar28;\n  if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }\n  uVar23 = 0;\n  do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);\nLAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }\nLAB_00121928:\n  putchar(10);\n  return 1;\nLAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }\n  goto LAB_0012190b;\n}" ({ "{") (declaration "undefined8 *puVar1;" (type_identifier "undefined8") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined8 *puVar2;" (type_identifier "undefined8") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "undefined8 *puVar9;" (type_identifier "undefined8") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined8 uVar10;" (type_identifier "undefined8") (identifier "uVar10") (; ";")) (declaration "undefined8 *puVar11;" (type_identifier "undefined8") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "ulong uVar12;" (type_identifier "ulong") (identifier "uVar12") (; ";")) (declaration "ulong uVar13;" (type_identifier "ulong") (identifier "uVar13") (; ";")) (declaration "undefined8 uVar14;" (type_identifier "undefined8") (identifier "uVar14") (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (declaration "undefined8 *puVar16;" (type_identifier "undefined8") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "long lVar17;" (sized_type_specifier "long" (long "long")) (identifier "lVar17") (; ";")) (declaration "undefined8 *puVar18;" (type_identifier "undefined8") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "ulong uVar19;" (type_identifier "ulong") (identifier "uVar19") (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "undefined8 *puVar24;" (type_identifier "undefined8") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "bool bVar26;" (primitive_type "bool") (identifier "bVar26") (; ";")) (declaration "bool bVar27;" (primitive_type "bool") (identifier "bVar27") (; ";")) (declaration "bool bVar28;" (primitive_type "bool") (identifier "bVar28") (; ";")) (declaration "byte bVar29;" (type_identifier "byte") (identifier "bVar29") (; ";")) (declaration "ulong local_120;" (type_identifier "ulong") (identifier "local_120") (; ";")) (declaration "undefined8 *local_f0;" (type_identifier "undefined8") (pointer_declarator "*local_f0" (* "*") (identifier "local_f0")) (; ";")) (declaration "undefined8 *local_e8;" (type_identifier "undefined8") (pointer_declarator "*local_e8" (* "*") (identifier "local_e8")) (; ";")) (declaration "long local_b0;" (sized_type_specifier "long" (long "long")) (identifier "local_b0") (; ";")) (declaration "long local_88;" (sized_type_specifier "long" (long "long")) (identifier "local_88") (; ";")) (declaration "long local_80;" (sized_type_specifier "long" (long "long")) (identifier "local_80") (; ";")) (declaration "undefined1 local_78 [72];" (type_identifier "undefined1") (array_declarator "local_78 [72]" (identifier "local_78") ([ "[") (number_literal "72") (] "]")) (; ";")) (expression_statement "bVar29 = 0;" (assignment_expression "bVar29 = 0" (identifier "bVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e8 = *(undefined8 **)(param_1 + 0x20);" (assignment_expression "local_e8 = *(undefined8 **)(param_1 + 0x20)" (identifier "local_e8") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x20)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x20)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(ulong *)(param_1 + 0x30);" (assignment_expression "uVar13 = *(ulong *)(param_1 + 0x30)" (identifier "uVar13") (= "=") (pointer_expression "*(ulong *)(param_1 + 0x30)" (* "*") (cast_expression "(ulong *)(param_1 + 0x30)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (local_e8 == (undefined8 *)0x0) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }" (if "if") (parenthesized_expression "(local_e8 == (undefined8 *)0x0)" (( "(") (binary_expression "local_e8 == (undefined8 *)0x0" (identifier "local_e8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is empty\n";\nLAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);\n    warn(uVar10,uVar14);\n    return 0;\n  }" ({ "{") (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" (identifier "uVar14") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "pcVar8 = "Section %s is empty\n";" (assignment_expression "pcVar8 = "Section %s is empty\n"" (identifier "pcVar8") (= "=") (string_literal ""Section %s is empty\n"" (" """) (string_content "Section %s is empty") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_00121880:\n    uVar10 = dcgettext(0,pcVar8,5);" (statement_identifier "LAB_00121880") (: ":") (expression_statement "uVar10 = dcgettext(0,pcVar8,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar8,5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,pcVar8,5)" (identifier "dcgettext") (argument_list "(0,pcVar8,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar8") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "warn(uVar10,uVar14);" (call_expression "warn(uVar10,uVar14)" (identifier "warn") (argument_list "(uVar10,uVar14)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar14") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (uVar13 < 0x18) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }" (if "if") (parenthesized_expression "(uVar13 < 0x18)" (( "(") (binary_expression "uVar13 < 0x18" (identifier "uVar13") (< "<") (number_literal "0x18")) () ")")) (compound_statement "{\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    pcVar8 = "Section %s is too small to contain a CU/TU header\n";\n    goto LAB_00121880;\n  }" ({ "{") (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" (identifier "uVar14") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "pcVar8 = "Section %s is too small to contain a CU/TU header\n";" (assignment_expression "pcVar8 = "Section %s is too small to contain a CU/TU header\n"" (identifier "pcVar8") (= "=") (string_literal ""Section %s is too small to contain a CU/TU header\n"" (" """) (string_content "Section %s is too small to contain a CU/TU header") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00121880;" (goto "goto") (statement_identifier "LAB_00121880") (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined8 *)((long)local_e8 + uVar13);" (assignment_expression "puVar2 = (undefined8 *)((long)local_e8 + uVar13)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)local_e8 + uVar13)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_e8 + uVar13)" (( "(") (binary_expression "(long)local_e8 + uVar13" (cast_expression "(long)local_e8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_e8")) (+ "+") (identifier "uVar13")) () ")")))) (; ";")) (expression_statement "puVar9 = (undefined8 *)((long)local_e8 + 4);" (assignment_expression "puVar9 = (undefined8 *)((long)local_e8 + 4)" (identifier "puVar9") (= "=") (cast_expression "(undefined8 *)((long)local_e8 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_e8 + 4)" (( "(") (binary_expression "(long)local_e8 + 4" (cast_expression "(long)local_e8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_e8")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "puVar16 = local_e8 + 1;" (assignment_expression "puVar16 = local_e8 + 1" (identifier "puVar16") (= "=") (binary_expression "local_e8 + 1" (identifier "local_e8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar9 < puVar2) {\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }\n  else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }" (if "if") (parenthesized_expression "(puVar9 < puVar2)" (( "(") (binary_expression "puVar9 < puVar2" (identifier "puVar9") (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n    uVar19 = 4;\nLAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);\n    if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }\n    if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }\n    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;\n    uVar22 = 0;\n    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;\nLAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);\n    if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }\n    puVar11 = local_e8 + 2;\n    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);\n    iVar7 = (int)uVar13;\n    local_120 = uVar13 & 0xffffffff;\n    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);\n    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);\n    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }\n  }" ({ "{") (expression_statement "uVar19 = 4;" (assignment_expression "uVar19 = 4" (identifier "uVar19") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_0012154d:\n    uVar3 = (*DAT_00159e20)(local_e8,uVar19);" (statement_identifier "LAB_0012154d") (: ":") (expression_statement "uVar3 = (*DAT_00159e20)(local_e8,uVar19);" (assignment_expression "uVar3 = (*DAT_00159e20)(local_e8,uVar19)" (identifier "uVar3") (= "=") (call_expression "(*DAT_00159e20)(local_e8,uVar19)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(local_e8,uVar19)" (( "(") (identifier "local_e8") (, ",") (identifier "uVar19") () ")")))) (; ";"))) (if_statement "if (uVar3 < 2) {\n      uVar22 = 0;\n      goto LAB_00121690;\n    }" (if "if") (parenthesized_expression "(uVar3 < 2)" (( "(") (binary_expression "uVar3 < 2" (identifier "uVar3") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      uVar22 = 0;\n      goto LAB_00121690;\n    }" ({ "{") (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00121690;" (goto "goto") (statement_identifier "LAB_00121690") (; ";")) (} "}"))) (if_statement "if (puVar16 < puVar2) {\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }" (if "if") (parenthesized_expression "(puVar16 < puVar2)" (( "(") (binary_expression "puVar16 < puVar2" (identifier "puVar16") (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n      lVar17 = 4;\nLAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);\n      goto LAB_00121690;\n    }" ({ "{") (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" (identifier "lVar17") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_0012183d:\n      uVar22 = (*DAT_00159e20)(puVar9,lVar17);" (statement_identifier "LAB_0012183d") (: ":") (expression_statement "uVar22 = (*DAT_00159e20)(puVar9,lVar17);" (assignment_expression "uVar22 = (*DAT_00159e20)(puVar9,lVar17)" (identifier "uVar22") (= "=") (call_expression "(*DAT_00159e20)(puVar9,lVar17)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar9,lVar17)" (( "(") (identifier "puVar9") (, ",") (identifier "lVar17") () ")")))) (; ";"))) (goto_statement "goto LAB_00121690;" (goto "goto") (statement_identifier "LAB_00121690") (; ";")) (} "}"))) (if_statement "if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;" (if "if") (parenthesized_expression "((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8))" (( "(") (binary_expression "(puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)" (parenthesized_expression "(puVar9 < puVar2)" (( "(") (binary_expression "puVar9 < puVar2" (identifier "puVar9") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "(lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)" (( "(") (comma_expression "lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8" (assignment_expression "lVar17 = uVar13 - 4" (identifier "lVar17") (= "=") (binary_expression "uVar13 - 4" (identifier "uVar13") (- "-") (number_literal "4"))) (, ",") (binary_expression "(int)lVar17 - 1U < 8" (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar17")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_0012183d;" (goto "goto") (statement_identifier "LAB_0012183d") (; ";"))) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;" (if "if") (parenthesized_expression "(puVar2 <= (undefined8 *)((long)local_e8 + 0xcU))" (( "(") (binary_expression "puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)" (identifier "puVar2") (<= "<=") (cast_expression "(undefined8 *)((long)local_e8 + 0xcU)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_e8 + 0xcU)" (( "(") (binary_expression "(long)local_e8 + 0xcU" (cast_expression "(long)local_e8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_e8")) (+ "+") (number_literal "0xcU")) () ")")))) () ")")) (goto_statement "goto LAB_001215a0;" (goto "goto") (statement_identifier "LAB_001215a0") (; ";"))) (labeled_statement "LAB_00121780:\n    uVar23 = (*DAT_00159e20)(puVar16,4);" (statement_identifier "LAB_00121780") (: ":") (expression_statement "uVar23 = (*DAT_00159e20)(puVar16,4);" (assignment_expression "uVar23 = (*DAT_00159e20)(puVar16,4)" (identifier "uVar23") (= "=") (call_expression "(*DAT_00159e20)(puVar16,4)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar16,4)" (( "(") (identifier "puVar16") (, ",") (number_literal "4") () ")")))) (; ";"))) (if_statement "if (local_e8 + 2 < puVar2) {\nLAB_001216e0:\n      lVar17 = 4;\n    }\n    else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }" (if "if") (parenthesized_expression "(local_e8 + 2 < puVar2)" (( "(") (binary_expression "local_e8 + 2 < puVar2" (binary_expression "local_e8 + 2" (identifier "local_e8") (+ "+") (number_literal "2")) (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\nLAB_001216e0:\n      lVar17 = 4;\n    }" ({ "{") (labeled_statement "LAB_001216e0:\n      lVar17 = 4;" (statement_identifier "LAB_001216e0") (: ":") (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" (identifier "lVar17") (= "=") (number_literal "4")) (; ";"))) (} "}")) (else_clause "else {\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }" (else "else") (compound_statement "{\n      lVar17 = uVar13 - 0xc;\n      if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }\n    }" ({ "{") (expression_statement "lVar17 = uVar13 - 0xc;" (assignment_expression "lVar17 = uVar13 - 0xc" (identifier "lVar17") (= "=") (binary_expression "uVar13 - 0xc" (identifier "uVar13") (- "-") (number_literal "0xc"))) (; ";")) (if_statement "if (7 < (int)lVar17 - 1U) {\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }" (if "if") (parenthesized_expression "(7 < (int)lVar17 - 1U)" (( "(") (binary_expression "7 < (int)lVar17 - 1U" (number_literal "7") (< "<") (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar17")) (- "-") (number_literal "1U"))) () ")")) (compound_statement "{\nLAB_001217b9:\n        puVar9 = local_e8 + 2;\n        local_120 = 0;\n        bVar27 = false;\n        puVar16 = puVar9;\n        goto joined_r0x001217d3;\n      }" ({ "{") (labeled_statement "LAB_001217b9:\n        puVar9 = local_e8 + 2;" (statement_identifier "LAB_001217b9") (: ":") (expression_statement "puVar9 = local_e8 + 2;" (assignment_expression "puVar9 = local_e8 + 2" (identifier "puVar9") (= "=") (binary_expression "local_e8 + 2" (identifier "local_e8") (+ "+") (number_literal "2"))) (; ";"))) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" (identifier "local_120") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "puVar16 = puVar9;" (assignment_expression "puVar16 = puVar9" (identifier "puVar16") (= "=") (identifier "puVar9")) (; ";")) (goto_statement "goto joined_r0x001217d3;" (goto "goto") (statement_identifier "joined_r0x001217d3") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar11 = local_e8 + 2;" (assignment_expression "puVar11 = local_e8 + 2" (identifier "puVar11") (= "=") (binary_expression "local_e8 + 2" (identifier "local_e8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);" (assignment_expression "uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17)" (identifier "uVar13") (= "=") (call_expression "(*DAT_00159e20)((long)local_e8 + 0xc,lVar17)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "((long)local_e8 + 0xc,lVar17)" (( "(") (binary_expression "(long)local_e8 + 0xc" (cast_expression "(long)local_e8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_e8")) (+ "+") (number_literal "0xc")) (, ",") (identifier "lVar17") () ")")))) (; ";")) (expression_statement "iVar7 = (int)uVar13;" (assignment_expression "iVar7 = (int)uVar13" (identifier "iVar7") (= "=") (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13"))) (; ";")) (expression_statement "local_120 = uVar13 & 0xffffffff;" (assignment_expression "local_120 = uVar13 & 0xffffffff" (identifier "local_120") (= "=") (binary_expression "uVar13 & 0xffffffff" (identifier "uVar13") (& "&") (number_literal "0xffffffff"))) (; ";")) (expression_statement "puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);" (assignment_expression "puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11)" (identifier "puVar9") (= "=") (cast_expression "(undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(uint)(iVar7 * 8) + (long)puVar11)" (( "(") (binary_expression "(ulong)(uint)(iVar7 * 8) + (long)puVar11" (call_expression "(ulong)(uint)(iVar7 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(iVar7 * 8)" (( "(") (binary_expression "iVar7 * 8" (identifier "iVar7") (* "*") (number_literal "8")) () ")"))) (+ "+") (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11"))) () ")")))) (; ";")) (expression_statement "puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);" (assignment_expression "puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9)" (identifier "puVar16") (= "=") (cast_expression "(undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(uint)(iVar7 * 4) + (long)puVar9)" (( "(") (binary_expression "(ulong)(uint)(iVar7 * 4) + (long)puVar9" (call_expression "(ulong)(uint)(iVar7 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(iVar7 * 4)" (( "(") (binary_expression "iVar7 * 4" (identifier "iVar7") (* "*") (number_literal "4")) () ")"))) (+ "+") (cast_expression "(long)puVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar9"))) () ")")))) (; ";")) (if_statement "if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }" (if "if") (parenthesized_expression "(((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27))))" (( "(") (binary_expression "((puVar9 < puVar11) || (puVar16 < local_e8)) ||\n       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))" (parenthesized_expression "((puVar9 < puVar11) || (puVar16 < local_e8))" (( "(") (binary_expression "(puVar9 < puVar11) || (puVar16 < local_e8)" (parenthesized_expression "(puVar9 < puVar11)" (( "(") (binary_expression "puVar9 < puVar11" (identifier "puVar9") (< "<") (identifier "puVar11")) () ")")) (|| "||") (parenthesized_expression "(puVar16 < local_e8)" (( "(") (binary_expression "puVar16 < local_e8" (identifier "puVar16") (< "<") (identifier "local_e8")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))" (( "(") (parenthesized_expression "(bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27))" (( "(") (comma_expression "bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)" (assignment_expression "bVar27 = iVar7 != 0" (identifier "bVar27") (= "=") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0"))) (, ",") (binary_expression "puVar11 == puVar9 && (bVar27)" (binary_expression "puVar11 == puVar9" (identifier "puVar11") (== "==") (identifier "puVar9")) (&& "&&") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);\n      goto LAB_0012175d;\n    }" ({ "{") (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" (identifier "uVar14") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);" (assignment_expression "uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5)" (identifier "uVar10") (= "=") (call_expression "dcngettext(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5)" (identifier "dcngettext") (argument_list "(0,"Section %s is too small for %d slot\n",\n                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Section %s is too small for %d slot\n"" (" """) (string_content "Section %s is too small for %d slot") (escape_sequence "\n") (" """)) (, ",") (string_literal ""Section %s is too small for %d slots\n"" (" """) (string_content "Section %s is too small for %d slots") (escape_sequence "\n") (" """)) (, ",") (binary_expression "uVar13 & 0xffffffff" (identifier "uVar13") (& "&") (number_literal "0xffffffff")) (, ",") (number_literal "5") () ")")))) (; ";")) (goto_statement "goto LAB_0012175d;" (goto "goto") (statement_identifier "LAB_0012175d") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }" (else "else") (compound_statement "{\n    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }\n    uVar3 = 0;\n    uVar22 = 0;\nLAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;\n    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }\nLAB_001215a0:\n    puVar9 = local_e8 + 2;\n    if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }\n    uVar23 = 0;\n    local_120 = 0;\n    bVar27 = false;\n    puVar16 = puVar9;\n  }" ({ "{") (if_statement "if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }" (if "if") (parenthesized_expression "((local_e8 < puVar2) && ((int)uVar13 - 1U < 8))" (( "(") (binary_expression "(local_e8 < puVar2) && ((int)uVar13 - 1U < 8)" (parenthesized_expression "(local_e8 < puVar2)" (( "(") (binary_expression "local_e8 < puVar2" (identifier "local_e8") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "((int)uVar13 - 1U < 8)" (( "(") (binary_expression "(int)uVar13 - 1U < 8" (binary_expression "(int)uVar13 - 1U" (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (- "-") (number_literal "1U")) (< "<") (number_literal "8")) () ")"))) () ")")) (compound_statement "{\n      uVar19 = uVar13 & 0xffffffff;\n      goto LAB_0012154d;\n    }" ({ "{") (expression_statement "uVar19 = uVar13 & 0xffffffff;" (assignment_expression "uVar19 = uVar13 & 0xffffffff" (identifier "uVar19") (= "=") (binary_expression "uVar13 & 0xffffffff" (identifier "uVar13") (& "&") (number_literal "0xffffffff"))) (; ";")) (goto_statement "goto LAB_0012154d;" (goto "goto") (statement_identifier "LAB_0012154d") (; ";")) (} "}"))) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00121690:\n    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;" (statement_identifier "LAB_00121690") (: ":") (if_statement "if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;" (if "if") (parenthesized_expression "((undefined8 *)((long)local_e8 + 0xcU) < puVar2)" (( "(") (binary_expression "(undefined8 *)((long)local_e8 + 0xcU) < puVar2" (cast_expression "(undefined8 *)((long)local_e8 + 0xcU)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_e8 + 0xcU)" (( "(") (binary_expression "(long)local_e8 + 0xcU" (cast_expression "(long)local_e8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_e8")) (+ "+") (number_literal "0xcU")) () ")"))) (< "<") (identifier "puVar2")) () ")")) (goto_statement "goto LAB_00121780;" (goto "goto") (statement_identifier "LAB_00121780") (; ";")))) (if_statement "if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }" (if "if") (parenthesized_expression "((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8))" (( "(") (binary_expression "(puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)" (parenthesized_expression "(puVar16 < puVar2)" (( "(") (binary_expression "puVar16 < puVar2" (identifier "puVar16") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "((int)(uVar13 - 8) - 1U < 8)" (( "(") (binary_expression "(int)(uVar13 - 8) - 1U < 8" (binary_expression "(int)(uVar13 - 8) - 1U" (cast_expression "(int)(uVar13 - 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar13 - 8)" (( "(") (binary_expression "uVar13 - 8" (identifier "uVar13") (- "-") (number_literal "8")) () ")"))) (- "-") (number_literal "1U")) (< "<") (number_literal "8")) () ")"))) () ")")) (compound_statement "{\n      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);\n      if (local_e8 + 2 < puVar2) goto LAB_001216e0;\n      goto LAB_001217b9;\n    }" ({ "{") (expression_statement "uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);" (assignment_expression "uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff)" (identifier "uVar23") (= "=") (call_expression "(*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar16,uVar13 - 8 & 0xffffffff)" (( "(") (identifier "puVar16") (, ",") (binary_expression "uVar13 - 8 & 0xffffffff" (binary_expression "uVar13 - 8" (identifier "uVar13") (- "-") (number_literal "8")) (& "&") (number_literal "0xffffffff")) () ")")))) (; ";")) (if_statement "if (local_e8 + 2 < puVar2) goto LAB_001216e0;" (if "if") (parenthesized_expression "(local_e8 + 2 < puVar2)" (( "(") (binary_expression "local_e8 + 2 < puVar2" (binary_expression "local_e8 + 2" (identifier "local_e8") (+ "+") (number_literal "2")) (< "<") (identifier "puVar2")) () ")")) (goto_statement "goto LAB_001216e0;" (goto "goto") (statement_identifier "LAB_001216e0") (; ";"))) (goto_statement "goto LAB_001217b9;" (goto "goto") (statement_identifier "LAB_001217b9") (; ";")) (} "}"))) (labeled_statement "LAB_001215a0:\n    puVar9 = local_e8 + 2;" (statement_identifier "LAB_001215a0") (: ":") (expression_statement "puVar9 = local_e8 + 2;" (assignment_expression "puVar9 = local_e8 + 2" (identifier "puVar9") (= "=") (binary_expression "local_e8 + 2" (identifier "local_e8") (+ "+") (number_literal "2"))) (; ";"))) (if_statement "if (puVar9 < puVar2) {\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }" (if "if") (parenthesized_expression "(puVar9 < puVar2)" (( "(") (binary_expression "puVar9 < puVar2" (identifier "puVar9") (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n      uVar23 = 0;\n      goto LAB_001216e0;\n    }" ({ "{") (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_001216e0;" (goto "goto") (statement_identifier "LAB_001216e0") (; ";")) (} "}"))) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" (identifier "local_120") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "puVar16 = puVar9;" (assignment_expression "puVar16 = puVar9" (identifier "puVar16") (= "=") (identifier "puVar9")) (; ";")) (} "}")))) (labeled_statement "joined_r0x001217d3:\n  uVar13 = local_120;" (statement_identifier "joined_r0x001217d3") (: ":") (expression_statement "uVar13 = local_120;" (assignment_expression "uVar13 = local_120" (identifier "uVar13") (= "=") (identifier "local_120")) (; ";"))) (if_statement "if (param_2 != 0) {\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);\n    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }\n    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);\n    printf(pcVar8,uVar23);\n    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);\n    printf(pcVar8,uVar13);\n  }" ({ "{") (expression_statement "FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);" (call_expression "FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" (identifier "FUN_00110740") (argument_list "(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18)" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))) (; ";")) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"  Version:                 %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Version:                 %d\n",5)" (identifier "dcgettext") (argument_list "(0,"  Version:                 %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Version:                 %d\n"" (" """) (string_content "  Version:                 %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar8,(ulong)uVar3);" (call_expression "printf(pcVar8,(ulong)uVar3)" (identifier "printf") (argument_list "(pcVar8,(ulong)uVar3)" (( "(") (identifier "pcVar8") (, ",") (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3")) () ")"))) (; ";")) (if_statement "if (1 < uVar3) {\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }" (if "if") (parenthesized_expression "(1 < uVar3)" (( "(") (binary_expression "1 < uVar3" (number_literal "1") (< "<") (identifier "uVar3")) () ")")) (compound_statement "{\n      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);\n      printf(pcVar8,(ulong)uVar22);\n    }" ({ "{") (expression_statement "pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"  Number of columns:       %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Number of columns:       %d\n",5)" (identifier "dcgettext") (argument_list "(0,"  Number of columns:       %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Number of columns:       %d\n"" (" """) (string_content "  Number of columns:       %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar8,(ulong)uVar22);" (call_expression "printf(pcVar8,(ulong)uVar22)" (identifier "printf") (argument_list "(pcVar8,(ulong)uVar22)" (( "(") (identifier "pcVar8") (, ",") (cast_expression "(ulong)uVar22" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar22")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"  Number of used entries:  %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Number of used entries:  %d\n",5)" (identifier "dcgettext") (argument_list "(0,"  Number of used entries:  %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Number of used entries:  %d\n"" (" """) (string_content "  Number of used entries:  %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar8,uVar23);" (call_expression "printf(pcVar8,uVar23)" (identifier "printf") (argument_list "(pcVar8,uVar23)" (( "(") (identifier "pcVar8") (, ",") (identifier "uVar23") () ")"))) (; ";")) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"  Number of slots:         %d\n\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Number of slots:         %d\n\n",5)" (identifier "dcgettext") (argument_list "(0,"  Number of slots:         %d\n\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Number of slots:         %d\n\n"" (" """) (string_content "  Number of slots:         %d") (escape_sequence "\n") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar8,uVar13);" (call_expression "printf(pcVar8,uVar13)" (identifier "printf") (argument_list "(pcVar8,uVar13)" (( "(") (identifier "pcVar8") (, ",") (identifier "uVar13") () ")"))) (; ";")) (} "}"))) (expression_statement "local_e8 = local_e8 + 2;" (assignment_expression "local_e8 = local_e8 + 2" (identifier "local_e8") (= "=") (binary_expression "local_e8 + 2" (identifier "local_e8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_120._0_4_ = (uint)uVar13;" (assignment_expression "local_120._0_4_ = (uint)uVar13" (field_expression "local_120._0_4_" (identifier "local_120") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint)uVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar13"))) (; ";")) (if_statement "if (puVar2 < puVar16) {\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }" (if "if") (parenthesized_expression "(puVar2 < puVar16)" (( "(") (binary_expression "puVar2 < puVar16" (identifier "puVar2") (< "<") (identifier "puVar16")) () ")")) (compound_statement "{\n    uVar14 = *(undefined8 *)(param_1 + 0x10);\n    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);\nLAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);\n    return 0;\n  }" ({ "{") (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" (identifier "uVar14") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);" (assignment_expression "uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"Section %s too small for %d hash table entries\n",5)" (identifier "dcgettext") (argument_list "(0,"Section %s too small for %d hash table entries\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Section %s too small for %d hash table entries\n"" (" """) (string_content "Section %s too small for %d hash table entries") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (labeled_statement "LAB_0012175d:\n    warn(uVar10,uVar14,uVar13 & 0xffffffff);" (statement_identifier "LAB_0012175d") (: ":") (expression_statement "warn(uVar10,uVar14,uVar13 & 0xffffffff);" (call_expression "warn(uVar10,uVar14,uVar13 & 0xffffffff)" (identifier "warn") (argument_list "(uVar10,uVar14,uVar13 & 0xffffffff)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar14") (, ",") (binary_expression "uVar13 & 0xffffffff" (identifier "uVar13") (& "&") (number_literal "0xffffffff")) () ")"))) (; ";"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (uVar3 == 1) {\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }" (if "if") (parenthesized_expression "(uVar3 == 1)" (( "(") (binary_expression "uVar3 == 1" (identifier "uVar3") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;\n    uVar22 = 0;\nLAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }\n    FUN_00137d20(local_e8,&local_88,&local_80);\n    if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }\nLAB_0012190b:\n    uVar22 = uVar22 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n    local_e8 = local_e8 + 1;\n    if ((uint)local_120 <= uVar22) goto LAB_0012191c;\n    goto LAB_001218e6;\n  }" ({ "{") (if_statement "if (param_2 == 0) {\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }\n    else if (!bVar27) goto LAB_00121928;" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      lVar15 = (long)puVar2 - (long)puVar16;\n      lVar17 = lVar15 + 3;\n      if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }\n      DAT_00159b94 = (uint)(lVar17 >> 2);\n      if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }\n      if (!bVar27) {\n        return 1;\n      }\n    }" ({ "{") (expression_statement "lVar15 = (long)puVar2 - (long)puVar16;" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar16" (identifier "lVar15") (= "=") (binary_expression "(long)puVar2 - (long)puVar16" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar16")))) (; ";")) (expression_statement "lVar17 = lVar15 + 3;" (assignment_expression "lVar17 = lVar15 + 3" (identifier "lVar17") (= "=") (binary_expression "lVar15 + 3" (identifier "lVar15") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (-1 < lVar15) {\n        lVar17 = lVar15;\n      }" (if "if") (parenthesized_expression "(-1 < lVar15)" (( "(") (binary_expression "-1 < lVar15" (number_literal "-1") (< "<") (identifier "lVar15")) () ")")) (compound_statement "{\n        lVar17 = lVar15;\n      }" ({ "{") (expression_statement "lVar17 = lVar15;" (assignment_expression "lVar17 = lVar15" (identifier "lVar17") (= "=") (identifier "lVar15")) (; ";")) (} "}"))) (expression_statement "DAT_00159b94 = (uint)(lVar17 >> 2);" (assignment_expression "DAT_00159b94 = (uint)(lVar17 >> 2)" (identifier "DAT_00159b94") (= "=") (call_expression "(uint)(lVar17 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar17 >> 2)" (( "(") (binary_expression "lVar17 >> 2" (identifier "lVar17") (>> ">>") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (DAT_00159b98 == 0) {\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }\n      else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }" (if "if") (parenthesized_expression "(DAT_00159b98 == 0)" (( "(") (binary_expression "DAT_00159b98 == 0" (identifier "DAT_00159b98") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_00159b90 = 0;\n        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);\n      }" ({ "{") (expression_statement "DAT_00159b90 = 0;" (assignment_expression "DAT_00159b90 = 0" (identifier "DAT_00159b90") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);" (assignment_expression "DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4)" (identifier "DAT_00159b98") (= "=") (call_expression "FUN_0011e220(lVar17 >> 2 & 0xffffffff,4)" (identifier "FUN_0011e220") (argument_list "(lVar17 >> 2 & 0xffffffff,4)" (( "(") (binary_expression "lVar17 >> 2 & 0xffffffff" (binary_expression "lVar17 >> 2" (identifier "lVar17") (>> ">>") (number_literal "2")) (& "&") (number_literal "0xffffffff")) (, ",") (number_literal "4") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }" (else "else") (compound_statement "{\n        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;\n        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);\n      }" ({ "{") (expression_statement "DAT_00159b94 = DAT_00159b94 + DAT_00159b90;" (assignment_expression "DAT_00159b94 = DAT_00159b94 + DAT_00159b90" (identifier "DAT_00159b94") (= "=") (binary_expression "DAT_00159b94 + DAT_00159b90" (identifier "DAT_00159b94") (+ "+") (identifier "DAT_00159b90"))) (; ";")) (expression_statement "DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);" (assignment_expression "DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4)" (identifier "DAT_00159b98") (= "=") (call_expression "xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4)" (identifier "xrealloc") (argument_list "(DAT_00159b98,(ulong)DAT_00159b94 * 4)" (( "(") (identifier "DAT_00159b98") (, ",") (binary_expression "(ulong)DAT_00159b94 * 4" (cast_expression "(ulong)DAT_00159b94" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_00159b94")) (* "*") (number_literal "4")) () ")")))) (; ";")) (} "}")))) (if_statement "if (!bVar27) {\n        return 1;\n      }" (if "if") (parenthesized_expression "(!bVar27)" (( "(") (unary_expression "!bVar27" (! "!") (identifier "bVar27")) () ")")) (compound_statement "{\n        return 1;\n      }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}")) (else_clause "else if (!bVar27) goto LAB_00121928;" (else "else") (if_statement "if (!bVar27) goto LAB_00121928;" (if "if") (parenthesized_expression "(!bVar27)" (( "(") (unary_expression "!bVar27" (! "!") (identifier "bVar27")) () ")")) (goto_statement "goto LAB_00121928;" (goto "goto") (statement_identifier "LAB_00121928") (; ";"))))) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_001218e6:\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }" (statement_identifier "LAB_001218e6") (: ":") (if_statement "if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }" (if "if") (parenthesized_expression "(puVar2 < local_e8 + 1)" (( "(") (binary_expression "puVar2 < local_e8 + 1" (identifier "puVar2") (< "<") (binary_expression "local_e8 + 1" (identifier "local_e8") (+ "+") (number_literal "1"))) () ")")) (compound_statement "{\n      local_88 = 0;\n      local_80 = 0;\n      goto LAB_0012190b;\n    }" ({ "{") (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0012190b;" (goto "goto") (statement_identifier "LAB_0012190b") (; ";")) (} "}")))) (expression_statement "FUN_00137d20(local_e8,&local_88,&local_80);" (call_expression "FUN_00137d20(local_e8,&local_88,&local_80)" (identifier "FUN_00137d20") (argument_list "(local_e8,&local_88,&local_80)" (( "(") (identifier "local_e8") (, ",") (pointer_expression "&local_88" (& "&") (identifier "local_88")) (, ",") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")"))) (; ";")) (if_statement "if ((local_88 != 0) || (local_80 != 0)) {\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }" (if "if") (parenthesized_expression "((local_88 != 0) || (local_80 != 0))" (( "(") (binary_expression "(local_88 != 0) || (local_80 != 0)" (parenthesized_expression "(local_88 != 0)" (( "(") (binary_expression "local_88 != 0" (identifier "local_88") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_80 != 0)" (( "(") (binary_expression "local_80 != 0" (identifier "local_80") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      lVar17 = 4;\n      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }\n      if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }\n      if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }\n      pcVar8 = "Section %s too small for shndx pool\n";\n      uVar14 = *(undefined8 *)(param_1 + 0x10);\n      goto LAB_00121880;\n    }" ({ "{") (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" (identifier "lVar17") (= "=") (number_literal "4")) (; ";")) (if_statement "if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }" (if "if") (parenthesized_expression "(((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8))))" (( "(") (binary_expression "((undefined8 *)((long)puVar9 + 4U) < puVar2) ||\n         ((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))" (parenthesized_expression "((undefined8 *)((long)puVar9 + 4U) < puVar2)" (( "(") (binary_expression "(undefined8 *)((long)puVar9 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar9 + 4U)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar9 + 4U)" (( "(") (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar9")) (+ "+") (number_literal "4U")) () ")"))) (< "<") (identifier "puVar2")) () ")")) (|| "||") (parenthesized_expression "((puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))" (( "(") (parenthesized_expression "(puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8))" (( "(") (comma_expression "puVar11 = puVar16, puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)" (assignment_expression "puVar11 = puVar16" (identifier "puVar11") (= "=") (identifier "puVar16")) (, ",") (binary_expression "puVar9 < puVar2 &&\n          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)" (binary_expression "puVar9 < puVar2" (identifier "puVar9") (< "<") (identifier "puVar2")) (&& "&&") (parenthesized_expression "(lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)" (( "(") (comma_expression "lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8" (assignment_expression "lVar17 = (long)puVar2 - (long)puVar9" (identifier "lVar17") (= "=") (binary_expression "(long)puVar2 - (long)puVar9" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar9")))) (, ",") (binary_expression "(int)lVar17 - 1U < 8" (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar17")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        iVar7 = (*DAT_00159e20)(puVar9,lVar17);\n        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);\n        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }\n      }" ({ "{") (expression_statement "iVar7 = (*DAT_00159e20)(puVar9,lVar17);" (assignment_expression "iVar7 = (*DAT_00159e20)(puVar9,lVar17)" (identifier "iVar7") (= "=") (call_expression "(*DAT_00159e20)(puVar9,lVar17)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar9,lVar17)" (( "(") (identifier "puVar9") (, ",") (identifier "lVar17") () ")")))) (; ";")) (expression_statement "puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);" (assignment_expression "puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16)" (identifier "puVar11") (= "=") (cast_expression "(undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(uint)(iVar7 * 4) + (long)puVar16)" (( "(") (binary_expression "(ulong)(uint)(iVar7 * 4) + (long)puVar16" (call_expression "(ulong)(uint)(iVar7 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(iVar7 * 4)" (( "(") (binary_expression "iVar7 * 4" (identifier "iVar7") (* "*") (number_literal "4")) () ")"))) (+ "+") (cast_expression "(long)puVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar16"))) () ")")))) (; ";")) (if_statement "if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }" (if "if") (parenthesized_expression "(CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16))" (( "(") (call_expression "CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)" (identifier "CARRY8") (argument_list "((ulong)(uint)(iVar7 * 4),(ulong)puVar16)" (( "(") (call_expression "(ulong)(uint)(iVar7 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(iVar7 * 4)" (( "(") (binary_expression "iVar7 * 4" (identifier "iVar7") (* "*") (number_literal "4")) () ")"))) (, ",") (cast_expression "(ulong)puVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "puVar16")) () ")"))) () ")")) (compound_statement "{\n          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);\n          warn(uVar14);\n          return 0;\n        }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Section index pool located before start of section\n",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"Section index pool located before start of section\n",5)" (identifier "dcgettext") (argument_list "(0,"Section index pool located before start of section\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Section index pool located before start of section\n"" (" """) (string_content "Section index pool located before start of section") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14);" (call_expression "warn(uVar14)" (identifier "warn") (argument_list "(uVar14)" (( "(") (identifier "uVar14") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}"))) (if_statement "if (param_2 != 0) {\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar14 = FUN_001106c0(local_88,local_80,local_78);\n        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);\n        printf(pcVar8,(ulong)uVar22,uVar14);\n      }" ({ "{") (expression_statement "uVar14 = FUN_001106c0(local_88,local_80,local_78);" (assignment_expression "uVar14 = FUN_001106c0(local_88,local_80,local_78)" (identifier "uVar14") (= "=") (call_expression "FUN_001106c0(local_88,local_80,local_78)" (identifier "FUN_001106c0") (argument_list "(local_88,local_80,local_78)" (( "(") (identifier "local_88") (, ",") (identifier "local_80") (, ",") (identifier "local_78") () ")")))) (; ";")) (expression_statement "pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5)" (identifier "dcgettext") (argument_list "(0,"  [%3d] Signature:  0x%s  Sections: ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  [%3d] Signature:  0x%s  Sections: "" (" """) (string_content "  [%3d] Signature:  0x%s  Sections: ") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar8,(ulong)uVar22,uVar14);" (call_expression "printf(pcVar8,(ulong)uVar22,uVar14)" (identifier "printf") (argument_list "(pcVar8,(ulong)uVar22,uVar14)" (( "(") (identifier "pcVar8") (, ",") (cast_expression "(ulong)uVar22" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar22")) (, ",") (identifier "uVar14") () ")"))) (; ";")) (} "}"))) (if_statement "if (puVar11 < puVar2) {\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }" (if "if") (parenthesized_expression "(puVar11 < puVar2)" (( "(") (binary_expression "puVar11 < puVar2" (identifier "puVar11") (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n        do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );\n      }" ({ "{") (do_statement "do {\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        } while( true );" (do "do") (compound_statement "{\n          puVar24 = (undefined8 *)((long)puVar11 + 4);\n          if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }\n          uVar3 = (*DAT_00159e20)(puVar11,lVar17);\n          if (uVar3 == 0) goto LAB_00121a48;\n          if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }\n          puVar11 = puVar24;\n          if (puVar2 <= puVar24) break;\n        }" ({ "{") (expression_statement "puVar24 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar11 + 4)" (identifier "puVar24") (= "=") (cast_expression "(undefined8 *)((long)puVar11 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar11 + 4)" (( "(") (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (puVar24 < puVar2) {\n            lVar17 = 4;\n          }\n          else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }" (if "if") (parenthesized_expression "(puVar24 < puVar2)" (( "(") (binary_expression "puVar24 < puVar2" (identifier "puVar24") (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n            lVar17 = 4;\n          }" ({ "{") (expression_statement "lVar17 = 4;" (assignment_expression "lVar17 = 4" (identifier "lVar17") (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }" (else "else") (compound_statement "{\n            lVar17 = (long)puVar2 - (long)puVar11;\n            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;\n          }" ({ "{") (expression_statement "lVar17 = (long)puVar2 - (long)puVar11;" (assignment_expression "lVar17 = (long)puVar2 - (long)puVar11" (identifier "lVar17") (= "=") (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")))) (; ";")) (if_statement "if (7 < (int)lVar17 - 1U) goto LAB_00121a48;" (if "if") (parenthesized_expression "(7 < (int)lVar17 - 1U)" (( "(") (binary_expression "7 < (int)lVar17 - 1U" (number_literal "7") (< "<") (binary_expression "(int)lVar17 - 1U" (cast_expression "(int)lVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar17")) (- "-") (number_literal "1U"))) () ")")) (goto_statement "goto LAB_00121a48;" (goto "goto") (statement_identifier "LAB_00121a48") (; ";"))) (} "}")))) (expression_statement "uVar3 = (*DAT_00159e20)(puVar11,lVar17);" (assignment_expression "uVar3 = (*DAT_00159e20)(puVar11,lVar17)" (identifier "uVar3") (= "=") (call_expression "(*DAT_00159e20)(puVar11,lVar17)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar11,lVar17)" (( "(") (identifier "puVar11") (, ",") (identifier "lVar17") () ")")))) (; ";")) (if_statement "if (uVar3 == 0) goto LAB_00121a48;" (if "if") (parenthesized_expression "(uVar3 == 0)" (( "(") (binary_expression "uVar3 == 0" (identifier "uVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00121a48;" (goto "goto") (statement_identifier "LAB_00121a48") (; ";"))) (if_statement "if (param_2 == 0) {\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }\n          else {\n            printf(" %d",(ulong)uVar3);\n          }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar13 = (ulong)DAT_00159b90;\n            if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }\n          }" ({ "{") (expression_statement "uVar13 = (ulong)DAT_00159b90;" (assignment_expression "uVar13 = (ulong)DAT_00159b90" (identifier "uVar13") (= "=") (cast_expression "(ulong)DAT_00159b90" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_00159b90"))) (; ";")) (if_statement "if (DAT_00159b90 < DAT_00159b94) {\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }\n            else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }" (if "if") (parenthesized_expression "(DAT_00159b90 < DAT_00159b94)" (( "(") (binary_expression "DAT_00159b90 < DAT_00159b94" (identifier "DAT_00159b90") (< "<") (identifier "DAT_00159b94")) () ")")) (compound_statement "{\n              DAT_00159b90 = DAT_00159b90 + 1;\n              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;\n            }" ({ "{") (expression_statement "DAT_00159b90 = DAT_00159b90 + 1;" (assignment_expression "DAT_00159b90 = DAT_00159b90 + 1" (identifier "DAT_00159b90") (= "=") (binary_expression "DAT_00159b90 + 1" (identifier "DAT_00159b90") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;" (assignment_expression "*(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3" (pointer_expression "*(uint *)(DAT_00159b98 + uVar13 * 4)" (* "*") (cast_expression "(uint *)(DAT_00159b98 + uVar13 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00159b98 + uVar13 * 4)" (( "(") (binary_expression "DAT_00159b98 + uVar13 * 4" (identifier "DAT_00159b98") (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (} "}")) (else_clause "else {\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }" (else "else") (compound_statement "{\n              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n              error();\n            }" ({ "{") (expression_statement "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);" (call_expression "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" (identifier "dcgettext") (argument_list "(0,"Internal error: out of space in the shndx pool.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Internal error: out of space in the shndx pool.\n"" (" """) (string_content "Internal error: out of space in the shndx pool.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "error();" (call_expression "error()" (identifier "error") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            printf(" %d",(ulong)uVar3);\n          }" (else "else") (compound_statement "{\n            printf(" %d",(ulong)uVar3);\n          }" ({ "{") (expression_statement "printf(" %d",(ulong)uVar3);" (call_expression "printf(" %d",(ulong)uVar3)" (identifier "printf") (argument_list "(" %d",(ulong)uVar3)" (( "(") (string_literal "" %d"" (" """) (string_content " %d") (" """)) (, ",") (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3")) () ")"))) (; ";")) (} "}")))) (expression_statement "puVar11 = puVar24;" (assignment_expression "puVar11 = puVar24" (identifier "puVar11") (= "=") (identifier "puVar24")) (; ";")) (if_statement "if (puVar2 <= puVar24) break;" (if "if") (parenthesized_expression "(puVar2 <= puVar24)" (( "(") (binary_expression "puVar2 <= puVar24" (identifier "puVar2") (<= "<=") (identifier "puVar24")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "pcVar8 = "Section %s too small for shndx pool\n";" (assignment_expression "pcVar8 = "Section %s too small for shndx pool\n"" (identifier "pcVar8") (= "=") (string_literal ""Section %s too small for shndx pool\n"" (" """) (string_content "Section %s too small for shndx pool") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "uVar14 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar14 = *(undefined8 *)(param_1 + 0x10)" (identifier "uVar14") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (goto_statement "goto LAB_00121880;" (goto "goto") (statement_identifier "LAB_00121880") (; ";")) (} "}"))) (labeled_statement "LAB_0012190b:\n    uVar22 = uVar22 + 1;" (statement_identifier "LAB_0012190b") (: ":") (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" (identifier "uVar22") (= "=") (binary_expression "uVar22 + 1" (identifier "uVar22") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar9 = (undefined8 *)((long)puVar9 + 4U);" (assignment_expression "puVar9 = (undefined8 *)((long)puVar9 + 4U)" (identifier "puVar9") (= "=") (cast_expression "(undefined8 *)((long)puVar9 + 4U)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar9 + 4U)" (( "(") (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar9")) (+ "+") (number_literal "4U")) () ")")))) (; ";")) (expression_statement "local_e8 = local_e8 + 1;" (assignment_expression "local_e8 = local_e8 + 1" (identifier "local_e8") (= "=") (binary_expression "local_e8 + 1" (identifier "local_e8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((uint)local_120 <= uVar22) goto LAB_0012191c;" (if "if") (parenthesized_expression "((uint)local_120 <= uVar22)" (( "(") (binary_expression "(uint)local_120 <= uVar22" (cast_expression "(uint)local_120" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_120")) (<= "<=") (identifier "uVar22")) () ")")) (goto_statement "goto LAB_0012191c;" (goto "goto") (statement_identifier "LAB_0012191c") (; ";"))) (goto_statement "goto LAB_001218e6;" (goto "goto") (statement_identifier "LAB_001218e6") (; ";")) (} "}"))) (if_statement "if (uVar3 != 2) {\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }" (if "if") (parenthesized_expression "(uVar3 != 2)" (( "(") (binary_expression "uVar3 != 2" (identifier "uVar3") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n    if (param_2 == 0) {\n      return 1;\n    }\n    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);\n    printf(pcVar8,(ulong)uVar3);\n    goto LAB_00121928;\n  }" ({ "{") (if_statement "if (param_2 == 0) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"  Unsupported version (%d)\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Unsupported version (%d)\n",5)" (identifier "dcgettext") (argument_list "(0,"  Unsupported version (%d)\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Unsupported version (%d)\n"" (" """) (string_content "  Unsupported version (%d)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar8,(ulong)uVar3);" (call_expression "printf(pcVar8,(ulong)uVar3)" (identifier "printf") (argument_list "(pcVar8,(ulong)uVar3)" (( "(") (identifier "pcVar8") (, ",") (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3")) () ")"))) (; ";")) (goto_statement "goto LAB_00121928;" (goto "goto") (statement_identifier "LAB_00121928") (; ";")) (} "}"))) (expression_statement "uVar3 = uVar22 * 4;" (assignment_expression "uVar3 = uVar22 * 4" (identifier "uVar3") (= "=") (binary_expression "uVar22 * 4" (identifier "uVar22") (* "*") (number_literal "4"))) (; ";")) (expression_statement "uVar13 = (ulong)uVar3;" (assignment_expression "uVar13 = (ulong)uVar3" (identifier "uVar13") (= "=") (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3"))) (; ";")) (expression_statement "uVar19 = (long)puVar16 + uVar13;" (assignment_expression "uVar19 = (long)puVar16 + uVar13" (identifier "uVar19") (= "=") (binary_expression "(long)puVar16 + uVar13" (cast_expression "(long)puVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar16")) (+ "+") (identifier "uVar13"))) (; ";")) (if_statement "if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }" (if "if") (parenthesized_expression "((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2)))" (( "(") (binary_expression "(CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))" (parenthesized_expression "(CARRY8((ulong)puVar16,uVar13))" (( "(") (call_expression "CARRY8((ulong)puVar16,uVar13)" (identifier "CARRY8") (argument_list "((ulong)puVar16,uVar13)" (( "(") (cast_expression "(ulong)puVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "puVar16")) (, ",") (identifier "uVar13") () ")"))) () ")")) (|| "||") (parenthesized_expression "(uVar22 != (uint)((long)uVar13 >> 2))" (( "(") (binary_expression "uVar22 != (uint)((long)uVar13 >> 2)" (identifier "uVar22") (!= "!=") (call_expression "(uint)((long)uVar13 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((long)uVar13 >> 2)" (( "(") (binary_expression "(long)uVar13 >> 2" (cast_expression "(long)uVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "uVar13")) (>> ">>") (number_literal "2")) () ")")))) () ")"))) () ")")) (compound_statement "{\n    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);\n    warn(uVar14,uVar22);\n    return 0;\n  }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"Overlarge number of columns: %x\n",5)" (identifier "dcgettext") (argument_list "(0,"Overlarge number of columns: %x\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Overlarge number of columns: %x\n"" (" """) (string_content "Overlarge number of columns: %x") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14,uVar22);" (call_expression "warn(uVar14,uVar22)" (identifier "warn") (argument_list "(uVar14,uVar22)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar22") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "pbVar20 = *(byte **)(param_1 + 0x10);" (assignment_expression "pbVar20 = *(byte **)(param_1 + 0x10)" (identifier "pbVar20") (= "=") (pointer_expression "*(byte **)(param_1 + 0x10)" (* "*") (cast_expression "(byte **)(param_1 + 0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "lVar17 = uVar19 + uVar3 * uVar23;" (assignment_expression "lVar17 = uVar19 + uVar3 * uVar23" (identifier "lVar17") (= "=") (binary_expression "uVar19 + uVar3 * uVar23" (identifier "uVar19") (+ "+") (binary_expression "uVar3 * uVar23" (identifier "uVar3") (* "*") (identifier "uVar23")))) (; ";")) (expression_statement "puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);" (assignment_expression "puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17)" (identifier "puVar11") (= "=") (cast_expression "(undefined8 *)((ulong)(uVar3 * uVar23) + lVar17)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(uVar3 * uVar23) + lVar17)" (( "(") (binary_expression "(ulong)(uVar3 * uVar23) + lVar17" (call_expression "(ulong)(uVar3 * uVar23)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar3 * uVar23)" (( "(") (binary_expression "uVar3 * uVar23" (identifier "uVar3") (* "*") (identifier "uVar23")) () ")"))) (+ "+") (identifier "lVar17")) () ")")))) (; ";")) (expression_statement "bVar26 = puVar2 < puVar11;" (assignment_expression "bVar26 = puVar2 < puVar11" (identifier "bVar26") (= "=") (binary_expression "puVar2 < puVar11" (identifier "puVar2") (< "<") (identifier "puVar11"))) (; ";")) (expression_statement "bVar28 = puVar2 == puVar11;" (assignment_expression "bVar28 = puVar2 == puVar11" (identifier "bVar28") (= "=") (binary_expression "puVar2 == puVar11" (identifier "puVar2") (== "==") (identifier "puVar11"))) (; ";")) (if_statement "if (bVar26) {\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }" (if "if") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (compound_statement "{\n    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);\n    warn(uVar14,pbVar20);\n    return 0;\n  }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"Section %s too small for offset and size tables\n",5)" (identifier "dcgettext") (argument_list "(0,"Section %s too small for offset and size tables\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Section %s too small for offset and size tables\n"" (" """) (string_content "Section %s too small for offset and size tables") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14,pbVar20);" (call_expression "warn(uVar14,pbVar20)" (identifier "warn") (argument_list "(uVar14,pbVar20)" (( "(") (identifier "uVar14") (, ",") (identifier "pbVar20") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "lVar15 = 0x10;" (assignment_expression "lVar15 = 0x10" (identifier "lVar15") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "pbVar21 = (byte *)".debug_tu_index";" (assignment_expression "pbVar21 = (byte *)".debug_tu_index"" (identifier "pbVar21") (= "=") (cast_expression "(byte *)".debug_tu_index"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".debug_tu_index"" (" """) (string_content ".debug_tu_index") (" """)))) (; ";")) (do_statement "do {\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  } while (bVar28);" (do "do") (compound_statement "{\n    if (lVar15 == 0) break;\n    lVar15 = lVar15 + -1;\n    bVar26 = *pbVar20 < *pbVar21;\n    bVar28 = *pbVar20 == *pbVar21;\n    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;\n    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;\n  }" ({ "{") (if_statement "if (lVar15 == 0) break;" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" (identifier "lVar15") (= "=") (binary_expression "lVar15 + -1" (identifier "lVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar20 < *pbVar21;" (assignment_expression "bVar26 = *pbVar20 < *pbVar21" (identifier "bVar26") (= "=") (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "bVar28 = *pbVar20 == *pbVar21;" (assignment_expression "bVar28 = *pbVar20 == *pbVar21" (identifier "bVar28") (= "=") (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (ulong)bVar29 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar29 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(ulong)bVar29 * -2" (cast_expression "(ulong)bVar29" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (ulong)bVar29 * -2 + 1" (binary_expression "pbVar21 + (ulong)bVar29 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(ulong)bVar29 * -2" (cast_expression "(ulong)bVar29" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (; ";")) (expression_statement "bVar28 = !bVar26 && !bVar28;" (assignment_expression "bVar28 = !bVar26 && !bVar28" (identifier "bVar28") (= "=") (binary_expression "!bVar26 && !bVar28" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar28" (! "!") (identifier "bVar28")))) (; ";")) (if_statement "if (param_2 == 0) {\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }\n  else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }\n    if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }\n    if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }\n    if (!bVar27) {\n      return 1;\n    }\n  }" ({ "{") (if_statement "if (bVar28 == bVar26) {\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }\n    else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }" (if "if") (parenthesized_expression "(bVar28 == bVar26)" (( "(") (binary_expression "bVar28 == bVar26" (identifier "bVar28") (== "==") (identifier "bVar26")) () ")")) (compound_statement "{\n      DAT_00159b78 = uVar23;\n      DAT_00159b68 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b68;\n    }" ({ "{") (expression_statement "DAT_00159b78 = uVar23;" (assignment_expression "DAT_00159b78 = uVar23" (identifier "DAT_00159b78") (= "=") (identifier "uVar23")) (; ";")) (expression_statement "DAT_00159b68 = FUN_001214b0(uVar23,0x88);" (assignment_expression "DAT_00159b68 = FUN_001214b0(uVar23,0x88)" (identifier "DAT_00159b68") (= "=") (call_expression "FUN_001214b0(uVar23,0x88)" (identifier "FUN_001214b0") (argument_list "(uVar23,0x88)" (( "(") (identifier "uVar23") (, ",") (number_literal "0x88") () ")")))) (; ";")) (expression_statement "local_b0 = DAT_00159b68;" (assignment_expression "local_b0 = DAT_00159b68" (identifier "local_b0") (= "=") (identifier "DAT_00159b68")) (; ";")) (} "}")) (else_clause "else {\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }" (else "else") (compound_statement "{\n      DAT_00159b7c = uVar23;\n      DAT_00159b70 = FUN_001214b0(uVar23,0x88);\n      local_b0 = DAT_00159b70;\n    }" ({ "{") (expression_statement "DAT_00159b7c = uVar23;" (assignment_expression "DAT_00159b7c = uVar23" (identifier "DAT_00159b7c") (= "=") (identifier "uVar23")) (; ";")) (expression_statement "DAT_00159b70 = FUN_001214b0(uVar23,0x88);" (assignment_expression "DAT_00159b70 = FUN_001214b0(uVar23,0x88)" (identifier "DAT_00159b70") (= "=") (call_expression "FUN_001214b0(uVar23,0x88)" (identifier "FUN_001214b0") (argument_list "(uVar23,0x88)" (( "(") (identifier "uVar23") (, ",") (number_literal "0x88") () ")")))) (; ";")) (expression_statement "local_b0 = DAT_00159b70;" (assignment_expression "local_b0 = DAT_00159b70" (identifier "local_b0") (= "=") (identifier "DAT_00159b70")) (; ";")) (} "}")))) (if_statement "if (bVar27) {\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\nLAB_00121c31:\n      uVar25 = 0;\n      puVar11 = local_e8;\n      puVar24 = puVar9;\n      do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);\n      if (param_2 != 0) goto LAB_001224d4;\n    }" ({ "{") (labeled_statement "LAB_00121c31:\n      uVar25 = 0;" (statement_identifier "LAB_00121c31") (: ":") (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";"))) (expression_statement "puVar11 = local_e8;" (assignment_expression "puVar11 = local_e8" (identifier "puVar11") (= "=") (identifier "local_e8")) (; ";")) (expression_statement "puVar24 = puVar9;" (assignment_expression "puVar24 = puVar9" (identifier "puVar24") (= "=") (identifier "puVar9")) (; ";")) (do_statement "do {\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      } while (uVar25 < (uint)local_120);" (do "do") (compound_statement "{\n        puVar1 = puVar11 + 1;\n        if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }\n        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;\n        uVar25 = uVar25 + 1;\n        puVar11 = puVar1;\n        puVar24 = (undefined8 *)((long)puVar24 + 4U);\n      }" ({ "{") (expression_statement "puVar1 = puVar11 + 1;" (assignment_expression "puVar1 = puVar11 + 1" (identifier "puVar1") (= "=") (binary_expression "puVar11 + 1" (identifier "puVar11") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar2 < puVar1) {\n          local_88 = 0;\n          local_80 = 0;\n        }\n        else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }" (if "if") (parenthesized_expression "(puVar2 < puVar1)" (( "(") (binary_expression "puVar2 < puVar1" (identifier "puVar2") (< "<") (identifier "puVar1")) () ")")) (compound_statement "{\n          local_88 = 0;\n          local_80 = 0;\n        }" ({ "{") (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }" (else "else") (compound_statement "{\n          FUN_00137d20(puVar11,&local_88,&local_80);\n        }" ({ "{") (expression_statement "FUN_00137d20(puVar11,&local_88,&local_80);" (call_expression "FUN_00137d20(puVar11,&local_88,&local_80)" (identifier "FUN_00137d20") (argument_list "(puVar11,&local_88,&local_80)" (( "(") (identifier "puVar11") (, ",") (pointer_expression "&local_88" (& "&") (identifier "local_88")) (, ",") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")"))) (; ";")) (} "}")))) (if_statement "if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }\n        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;" (if "if") (parenthesized_expression "((undefined8 *)((long)puVar24 + 4U) < puVar2)" (( "(") (binary_expression "(undefined8 *)((long)puVar24 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar24 + 4U)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar24 + 4U)" (( "(") (binary_expression "(long)puVar24 + 4U" (cast_expression "(long)puVar24" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar24")) (+ "+") (number_literal "4U")) () ")"))) (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n          lVar15 = 4;\nLAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);\n          if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }\n        }" ({ "{") (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" (identifier "lVar15") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00121cdf:\n          uVar4 = (*DAT_00159e20)(puVar24,lVar15);" (statement_identifier "LAB_00121cdf") (: ":") (expression_statement "uVar4 = (*DAT_00159e20)(puVar24,lVar15);" (assignment_expression "uVar4 = (*DAT_00159e20)(puVar24,lVar15)" (identifier "uVar4") (= "=") (call_expression "(*DAT_00159e20)(puVar24,lVar15)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar24,lVar15)" (( "(") (identifier "puVar24") (, ",") (identifier "lVar15") () ")")))) (; ";"))) (if_statement "if (uVar4 != 0) {\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }" (if "if") (parenthesized_expression "(uVar4 != 0)" (( "(") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }\n            if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }\n          }" ({ "{") (if_statement "if (uVar23 < uVar4) {\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }" (if "if") (parenthesized_expression "(uVar23 < uVar4)" (( "(") (binary_expression "uVar23 < uVar4" (identifier "uVar23") (< "<") (identifier "uVar4")) () ")")) (compound_statement "{\n              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);\n              warn(uVar14,uVar4,uVar23);\n              return 0;\n            }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5)" (identifier "dcgettext") (argument_list "(0,"Row index (%u) is larger than number of used entries (%u)\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Row index (%u) is larger than number of used entries (%u)\n"" (" """) (string_content "Row index (%u) is larger than number of used entries (%u)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14,uVar4,uVar23);" (call_expression "warn(uVar14,uVar4,uVar23)" (identifier "warn") (argument_list "(uVar14,uVar4,uVar23)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar4") (, ",") (identifier "uVar23") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (param_2 == 0) {\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }\n            else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n              *local_f0 = *puVar11;\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }\n              if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }\n            }" ({ "{") (if_statement "if (puVar2 <= puVar1) {\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }" (if "if") (parenthesized_expression "(puVar2 <= puVar1)" (( "(") (binary_expression "puVar2 <= puVar1" (identifier "puVar2") (<= "<=") (identifier "puVar1")) () ")")) (compound_statement "{\n                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);\n                warn(uVar14,puVar11);\n                return 0;\n              }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5)" (identifier "dcgettext") (argument_list "(0,"Signature (%p) extends beyond end of space in section\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Signature (%p) extends beyond end of space in section\n"" (" """) (string_content "Signature (%p) extends beyond end of space in section") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14,puVar11);" (call_expression "warn(uVar14,puVar11)" (identifier "warn") (argument_list "(uVar14,puVar11)" (( "(") (identifier "uVar14") (, ",") (identifier "puVar11") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);" (assignment_expression "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3)" (identifier "uVar13") (= "=") (call_expression "(ulong)((uVar4 + 0x3fffffff) * uVar3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uVar4 + 0x3fffffff) * uVar3)" (( "(") (binary_expression "(uVar4 + 0x3fffffff) * uVar3" (parenthesized_expression "(uVar4 + 0x3fffffff)" (( "(") (binary_expression "uVar4 + 0x3fffffff" (identifier "uVar4") (+ "+") (number_literal "0x3fffffff")) () ")")) (* "*") (identifier "uVar3")) () ")")))) (; ";")) (expression_statement "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);" (assignment_expression "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" (identifier "local_f0") (= "=") (cast_expression "(undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b0 + (ulong)(uVar4 - 1) * 0x88)" (( "(") (binary_expression "local_b0 + (ulong)(uVar4 - 1) * 0x88" (identifier "local_b0") (+ "+") (binary_expression "(ulong)(uVar4 - 1) * 0x88" (call_expression "(ulong)(uVar4 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 - 1)" (( "(") (binary_expression "uVar4 - 1" (identifier "uVar4") (- "-") (number_literal "1")) () ")"))) (* "*") (number_literal "0x88"))) () ")")))) (; ";")) (expression_statement "*local_f0 = *puVar11;" (assignment_expression "*local_f0 = *puVar11" (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) (= "=") (pointer_expression "*puVar11" (* "*") (identifier "puVar11"))) (; ";")) (expression_statement "puVar11 = (undefined8 *)(uVar13 + uVar19);" (assignment_expression "puVar11 = (undefined8 *)(uVar13 + uVar19)" (identifier "puVar11") (= "=") (cast_expression "(undefined8 *)(uVar13 + uVar19)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar13 + uVar19)" (( "(") (binary_expression "uVar13 + uVar19" (identifier "uVar13") (+ "+") (identifier "uVar19")) () ")")))) (; ";")) (if_statement "if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }" (if "if") (parenthesized_expression "((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11))" (( "(") (binary_expression "(CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)" (parenthesized_expression "(CARRY8(uVar13,uVar19))" (( "(") (call_expression "CARRY8(uVar13,uVar19)" (identifier "CARRY8") (argument_list "(uVar13,uVar19)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar19") () ")"))) () ")")) (|| "||") (parenthesized_expression "(puVar2 < puVar11)" (( "(") (binary_expression "puVar2 < puVar11" (identifier "puVar2") (< "<") (identifier "puVar11")) () ")"))) () ")")) (compound_statement "{\nLAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);\n                warn(uVar14,uVar4,uVar22);\n                return 0;\n              }" ({ "{") (labeled_statement "LAB_00122050:\n                uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);" (statement_identifier "LAB_00122050") (: ":") (expression_statement "uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5);" (assignment_expression "uVar14 = dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5)" (identifier "dcgettext") (argument_list "(0,\n                                   "Row index (%u) * num columns (%u) > space remaining in section\n"\n                                   ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""Row index (%u) * num columns (%u) > space remaining in section\n"" (" """) (string_content "Row index (%u) * num columns (%u) > space remaining in section") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "warn(uVar14,uVar4,uVar22);" (call_expression "warn(uVar14,uVar4,uVar22)" (identifier "warn") (argument_list "(uVar14,uVar4,uVar22)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar4") (, ",") (identifier "uVar22") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (uVar22 != 0) {\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }" (if "if") (parenthesized_expression "(uVar22 != 0)" (( "(") (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00121d72:\n                uVar4 = 0;\n                puVar18 = puVar16;\n                do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);\n                if (param_2 != 0) goto LAB_00121e1f;\n              }" ({ "{") (labeled_statement "LAB_00121d72:\n                uVar4 = 0;" (statement_identifier "LAB_00121d72") (: ":") (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";"))) (expression_statement "puVar18 = puVar16;" (assignment_expression "puVar18 = puVar16" (identifier "puVar18") (= "=") (identifier "puVar16")) (; ";")) (do_statement "do {\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                } while (uVar4 < uVar22);" (do "do") (compound_statement "{\n                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }\nLAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);\n                  uVar4 = uVar4 + 1;\n                  puVar11 = (undefined8 *)((long)puVar11 + 4);\n                }" ({ "{") (if_statement "if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }\n                  else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }" (if "if") (parenthesized_expression "((undefined8 *)((long)puVar11 + 4) < puVar2)" (( "(") (binary_expression "(undefined8 *)((long)puVar11 + 4) < puVar2" (cast_expression "(undefined8 *)((long)puVar11 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar11 + 4)" (( "(") (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")) (+ "+") (number_literal "4")) () ")"))) (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n                    lVar15 = 4;\nLAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);\n                    uVar13 = uVar13 & 0xffffffff;\n                    if (param_2 == 0) goto LAB_00121dca;\nLAB_00121e76:\n                    printf(" %8d",uVar13);\n                  }" ({ "{") (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" (identifier "lVar15") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00121e65:\n                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);" (statement_identifier "LAB_00121e65") (: ":") (expression_statement "uVar13 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar13 = (*DAT_00159e20)(puVar11,lVar15)" (identifier "uVar13") (= "=") (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar11,lVar15)" (( "(") (identifier "puVar11") (, ",") (identifier "lVar15") () ")")))) (; ";"))) (expression_statement "uVar13 = uVar13 & 0xffffffff;" (assignment_expression "uVar13 = uVar13 & 0xffffffff" (identifier "uVar13") (= "=") (binary_expression "uVar13 & 0xffffffff" (identifier "uVar13") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (param_2 == 0) goto LAB_00121dca;" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00121dca;" (goto "goto") (statement_identifier "LAB_00121dca") (; ";"))) (labeled_statement "LAB_00121e76:\n                    printf(" %8d",uVar13);" (statement_identifier "LAB_00121e76") (: ":") (expression_statement "printf(" %8d",uVar13);" (call_expression "printf(" %8d",uVar13)" (identifier "printf") (argument_list "(" %8d",uVar13)" (( "(") (string_literal "" %8d"" (" """) (string_content " %8d") (" """)) (, ",") (identifier "uVar13") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }" (else "else") (compound_statement "{\n                    uVar13 = 0;\n                    if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;\n                    if (param_2 != 0) goto LAB_00121e76;\nLAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }\n                    local_f0[uVar12 + 1] = uVar13;\n                  }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                    goto LAB_00121e65;" (if "if") (parenthesized_expression "((puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" (( "(") (binary_expression "(puVar11 < puVar2) &&\n                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" (( "(") (binary_expression "puVar11 < puVar2" (identifier "puVar11") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (( "(") (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" (identifier "lVar15") (= "=") (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")))) (, ",") (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00121e65;" (goto "goto") (statement_identifier "LAB_00121e65") (; ";"))) (if_statement "if (param_2 != 0) goto LAB_00121e76;" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00121e76;" (goto "goto") (statement_identifier "LAB_00121e76") (; ";"))) (labeled_statement "LAB_00121dca:\n                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" (statement_identifier "LAB_00121dca") (: ":") (if_statement "if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }\n                    else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" (if "if") (parenthesized_expression "((undefined8 *)((long)puVar18 + 4U) < puVar2)" (( "(") (binary_expression "(undefined8 *)((long)puVar18 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar18 + 4U)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar18 + 4U)" (( "(") (binary_expression "(long)puVar18 + 4U" (cast_expression "(long)puVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar18")) (+ "+") (number_literal "4U")) () ")"))) (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n                      lVar15 = 4;\nLAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);\n                      uVar12 = (ulong)uVar5;\n                      if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }\n                    }" ({ "{") (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" (identifier "lVar15") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00121e95:\n                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);" (statement_identifier "LAB_00121e95") (: ":") (expression_statement "uVar5 = (*DAT_00159e20)(puVar18,lVar15);" (assignment_expression "uVar5 = (*DAT_00159e20)(puVar18,lVar15)" (identifier "uVar5") (= "=") (call_expression "(*DAT_00159e20)(puVar18,lVar15)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar18,lVar15)" (( "(") (identifier "puVar18") (, ",") (identifier "lVar15") () ")")))) (; ";"))) (expression_statement "uVar12 = (ulong)uVar5;" (assignment_expression "uVar12 = (ulong)uVar5" (identifier "uVar12") (= "=") (cast_expression "(ulong)uVar5" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar5"))) (; ";")) (if_statement "if (7 < uVar5) {\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }" (if "if") (parenthesized_expression "(7 < uVar5)" (( "(") (binary_expression "7 < uVar5" (number_literal "7") (< "<") (identifier "uVar5")) () ")")) (compound_statement "{\n                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                        warn(uVar14,uVar5);\n                        goto LAB_00121dfa;\n                      }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" (identifier "dcgettext") (argument_list "(0,"Overlarge Dwarf section index detected: %u\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Overlarge Dwarf section index detected: %u\n"" (" """) (string_content "Overlarge Dwarf section index detected: %u") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14,uVar5);" (call_expression "warn(uVar14,uVar5)" (identifier "warn") (argument_list "(uVar14,uVar5)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar5") () ")"))) (; ";")) (goto_statement "goto LAB_00121dfa;" (goto "goto") (statement_identifier "LAB_00121dfa") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" (else "else") (compound_statement "{\n                      if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;\n                      uVar12 = 0;\n                    }" ({ "{") (if_statement "if ((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))\n                      goto LAB_00121e95;" (if "if") (parenthesized_expression "((puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))" (( "(") (binary_expression "(puVar18 < puVar2) &&\n                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar18 < puVar2)" (( "(") (binary_expression "puVar18 < puVar2" (identifier "puVar18") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8)" (( "(") (comma_expression "lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar18" (identifier "lVar15") (= "=") (binary_expression "(long)puVar2 - (long)puVar18" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar18")))) (, ",") (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00121e95;" (goto "goto") (statement_identifier "LAB_00121e95") (; ";"))) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (} "}"))))) (expression_statement "local_f0[uVar12 + 1] = uVar13;" (assignment_expression "local_f0[uVar12 + 1] = uVar13" (subscript_expression "local_f0[uVar12 + 1]" (identifier "local_f0") ([ "[") (binary_expression "uVar12 + 1" (identifier "uVar12") (+ "+") (number_literal "1")) (] "]")) (= "=") (identifier "uVar13")) (; ";")) (} "}")))) (labeled_statement "LAB_00121dfa:\n                  puVar18 = (undefined8 *)((long)puVar18 + 4);" (statement_identifier "LAB_00121dfa") (: ":") (expression_statement "puVar18 = (undefined8 *)((long)puVar18 + 4);" (assignment_expression "puVar18 = (undefined8 *)((long)puVar18 + 4)" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)((long)puVar18 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar18 + 4)" (( "(") (binary_expression "(long)puVar18 + 4" (cast_expression "(long)puVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar18")) (+ "+") (number_literal "4")) () ")")))) (; ";"))) (expression_statement "uVar4 = uVar4 + 1;" (assignment_expression "uVar4 = uVar4 + 1" (identifier "uVar4") (= "=") (binary_expression "uVar4 + 1" (identifier "uVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar11 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar11 = (undefined8 *)((long)puVar11 + 4)" (identifier "puVar11") (= "=") (cast_expression "(undefined8 *)((long)puVar11 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar11 + 4)" (( "(") (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar4 < uVar22)" (( "(") (binary_expression "uVar4 < uVar22" (identifier "uVar4") (< "<") (identifier "uVar22")) () ")")) (; ";")) (if_statement "if (param_2 != 0) goto LAB_00121e1f;" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00121e1f;" (goto "goto") (statement_identifier "LAB_00121e1f") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" (else "else") (compound_statement "{\n              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);\n              puVar11 = (undefined8 *)(uVar13 + uVar19);\n              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;\n              uVar14 = FUN_001106c0(local_88,local_80,local_78);\n              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n              printf(pcVar8,(ulong)uVar25,uVar14);\n              if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }\nLAB_00121e1f:\n              putchar(10);\n            }" ({ "{") (expression_statement "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);" (assignment_expression "uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3)" (identifier "uVar13") (= "=") (call_expression "(ulong)((uVar4 + 0x3fffffff) * uVar3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uVar4 + 0x3fffffff) * uVar3)" (( "(") (binary_expression "(uVar4 + 0x3fffffff) * uVar3" (parenthesized_expression "(uVar4 + 0x3fffffff)" (( "(") (binary_expression "uVar4 + 0x3fffffff" (identifier "uVar4") (+ "+") (number_literal "0x3fffffff")) () ")")) (* "*") (identifier "uVar3")) () ")")))) (; ";")) (expression_statement "puVar11 = (undefined8 *)(uVar13 + uVar19);" (assignment_expression "puVar11 = (undefined8 *)(uVar13 + uVar19)" (identifier "puVar11") (= "=") (cast_expression "(undefined8 *)(uVar13 + uVar19)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar13 + uVar19)" (( "(") (binary_expression "uVar13 + uVar19" (identifier "uVar13") (+ "+") (identifier "uVar19")) () ")")))) (; ";")) (if_statement "if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;" (if "if") (parenthesized_expression "((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11))" (( "(") (binary_expression "(CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)" (parenthesized_expression "(CARRY8(uVar13,uVar19))" (( "(") (call_expression "CARRY8(uVar13,uVar19)" (identifier "CARRY8") (argument_list "(uVar13,uVar19)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar19") () ")"))) () ")")) (|| "||") (parenthesized_expression "(puVar2 < puVar11)" (( "(") (binary_expression "puVar2 < puVar11" (identifier "puVar2") (< "<") (identifier "puVar11")) () ")"))) () ")")) (goto_statement "goto LAB_00122050;" (goto "goto") (statement_identifier "LAB_00122050") (; ";"))) (expression_statement "uVar14 = FUN_001106c0(local_88,local_80,local_78);" (assignment_expression "uVar14 = FUN_001106c0(local_88,local_80,local_78)" (identifier "uVar14") (= "=") (call_expression "FUN_001106c0(local_88,local_80,local_78)" (identifier "FUN_001106c0") (argument_list "(local_88,local_80,local_78)" (( "(") (identifier "local_88") (, ",") (identifier "local_80") (, ",") (identifier "local_78") () ")")))) (; ";")) (expression_statement "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"  [%3d] 0x%s",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  [%3d] 0x%s",5)" (identifier "dcgettext") (argument_list "(0,"  [%3d] 0x%s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  [%3d] 0x%s"" (" """) (string_content "  [%3d] 0x%s") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar8,(ulong)uVar25,uVar14);" (call_expression "printf(pcVar8,(ulong)uVar25,uVar14)" (identifier "printf") (argument_list "(pcVar8,(ulong)uVar25,uVar14)" (( "(") (identifier "pcVar8") (, ",") (cast_expression "(ulong)uVar25" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar25")) (, ",") (identifier "uVar14") () ")"))) (; ";")) (if_statement "if (uVar22 != 0) {\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }" (if "if") (parenthesized_expression "(uVar22 != 0)" (( "(") (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);\n                goto LAB_00121d72;\n              }" ({ "{") (expression_statement "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);" (assignment_expression "local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" (identifier "local_f0") (= "=") (cast_expression "(undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b0 + (ulong)(uVar4 - 1) * 0x88)" (( "(") (binary_expression "local_b0 + (ulong)(uVar4 - 1) * 0x88" (identifier "local_b0") (+ "+") (binary_expression "(ulong)(uVar4 - 1) * 0x88" (call_expression "(ulong)(uVar4 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 - 1)" (( "(") (binary_expression "uVar4 - 1" (identifier "uVar4") (- "-") (number_literal "1")) () ")"))) (* "*") (number_literal "0x88"))) () ")")))) (; ";")) (goto_statement "goto LAB_00121d72;" (goto "goto") (statement_identifier "LAB_00121d72") (; ";")) (} "}"))) (labeled_statement "LAB_00121e1f:\n              putchar(10);" (statement_identifier "LAB_00121e1f") (: ":") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";"))) (} "}")))) (} "}"))) (} "}")) (else_clause "else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;" (else "else") (if_statement "if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                ) goto LAB_00121cdf;" (if "if") (parenthesized_expression "((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)\n                )" (( "(") (binary_expression "(puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar24 < puVar2)" (( "(") (binary_expression "puVar24 < puVar2" (identifier "puVar24") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" (( "(") (comma_expression "lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar24" (identifier "lVar15") (= "=") (binary_expression "(long)puVar2 - (long)puVar24" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar24" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar24")))) (, ",") (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00121cdf;" (goto "goto") (statement_identifier "LAB_00121cdf") (; ";"))))) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" (identifier "uVar25") (= "=") (binary_expression "uVar25 + 1" (identifier "uVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar11 = puVar1;" (assignment_expression "puVar11 = puVar1" (identifier "puVar11") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "puVar24 = (undefined8 *)((long)puVar24 + 4U);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar24 + 4U)" (identifier "puVar24") (= "=") (cast_expression "(undefined8 *)((long)puVar24 + 4U)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar24 + 4U)" (( "(") (binary_expression "(long)puVar24 + 4U" (cast_expression "(long)puVar24" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar24")) (+ "+") (number_literal "4U")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar25 < (uint)local_120)" (( "(") (binary_expression "uVar25 < (uint)local_120" (identifier "uVar25") (< "<") (cast_expression "(uint)local_120" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_120"))) () ")")) (; ";")) (if_statement "if (param_2 != 0) goto LAB_001224d4;" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001224d4;" (goto "goto") (statement_identifier "LAB_001224d4") (; ";"))) (} "}"))) (if_statement "if (uVar22 != 0) {\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }" (if "if") (parenthesized_expression "(uVar22 != 0)" (( "(") (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001220c6:\n      uVar23 = 0;\n      puVar11 = puVar16;\n      do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);\n      if (param_2 != 0) goto LAB_0012253d;\n    }" ({ "{") (labeled_statement "LAB_001220c6:\n      uVar23 = 0;" (statement_identifier "LAB_001220c6") (: ":") (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";"))) (expression_statement "puVar11 = puVar16;" (assignment_expression "puVar11 = puVar16" (identifier "puVar11") (= "=") (identifier "puVar16")) (; ";")) (do_statement "do {\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      } while (uVar23 < uVar22);" (do "do") (compound_statement "{\n        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }\n        if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }\n        uVar23 = uVar23 + 1;\n        puVar11 = (undefined8 *)((long)puVar11 + 4);\n      }" ({ "{") (if_statement "if ((undefined8 *)((long)puVar11 + 4) < puVar2) {\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }" (if "if") (parenthesized_expression "((undefined8 *)((long)puVar11 + 4) < puVar2)" (( "(") (binary_expression "(undefined8 *)((long)puVar11 + 4) < puVar2" (cast_expression "(undefined8 *)((long)puVar11 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar11 + 4)" (( "(") (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")) (+ "+") (number_literal "4")) () ")"))) (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n          lVar15 = 4;\nLAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }" ({ "{") (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" (identifier "lVar15") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_0012210c:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);" (statement_identifier "LAB_0012210c") (: ":") (expression_statement "uVar6 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar6 = (*DAT_00159e20)(puVar11,lVar15)" (identifier "uVar6") (= "=") (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar11,lVar15)" (( "(") (identifier "puVar11") (, ",") (identifier "lVar15") () ")")))) (; ";"))) (} "}")) (else_clause "else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }" (else "else") (compound_statement "{\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;\n        }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_0012210c;" (if "if") (parenthesized_expression "((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" (( "(") (binary_expression "(puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" (( "(") (binary_expression "puVar11 < puVar2" (identifier "puVar11") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (( "(") (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" (identifier "lVar15") (= "=") (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")))) (, ",") (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_0012210c;" (goto "goto") (statement_identifier "LAB_0012210c") (; ";"))) (} "}")))) (if_statement "if (param_2 != 0) {\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar14 = FUN_001100d0(uVar6);\n          printf(" %8s",uVar14);\n        }" ({ "{") (expression_statement "uVar14 = FUN_001100d0(uVar6);" (assignment_expression "uVar14 = FUN_001100d0(uVar6)" (identifier "uVar14") (= "=") (call_expression "FUN_001100d0(uVar6)" (identifier "FUN_001100d0") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "printf(" %8s",uVar14);" (call_expression "printf(" %8s",uVar14)" (identifier "printf") (argument_list "(" %8s",uVar14)" (( "(") (string_literal "" %8s"" (" """) (string_content " %8s") (" """)) (, ",") (identifier "uVar14") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" (identifier "uVar23") (= "=") (binary_expression "uVar23 + 1" (identifier "uVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar11 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar11 = (undefined8 *)((long)puVar11 + 4)" (identifier "puVar11") (= "=") (cast_expression "(undefined8 *)((long)puVar11 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar11 + 4)" (( "(") (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar23 < uVar22)" (( "(") (binary_expression "uVar23 < uVar22" (identifier "uVar23") (< "<") (identifier "uVar22")) () ")")) (; ";")) (if_statement "if (param_2 != 0) goto LAB_0012253d;" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0012253d;" (goto "goto") (statement_identifier "LAB_0012253d") (; ";"))) (} "}"))) (if_statement "if (!bVar27) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(!bVar27)" (( "(") (unary_expression "!bVar27" (! "!") (identifier "bVar27")) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }" (else "else") (compound_statement "{\n    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }\n    putchar(10);\n    local_b0 = 0;\n    if (bVar27) goto LAB_00121c31;\nLAB_001224d4:\n    putchar(10);\n    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);\n    printf(pcVar8);\n    if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }\n    printf("  slot  %-16s  ",uVar14);\n    if (uVar22 != 0) goto LAB_001220c6;\nLAB_0012253d:\n    putchar(10);\n    if (!bVar27) goto LAB_00121928;\n  }" ({ "{") (expression_statement "pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Offset table\n",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"  Offset table\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Offset table\n",5)" (identifier "dcgettext") (argument_list "(0,"  Offset table\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Offset table\n"" (" """) (string_content "  Offset table") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar8);" (call_expression "printf(pcVar8)" (identifier "printf") (argument_list "(pcVar8)" (( "(") (identifier "pcVar8") () ")"))) (; ";")) (if_statement "if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" (if "if") (parenthesized_expression "(bVar28 == bVar26)" (( "(") (binary_expression "bVar28 == bVar26" (identifier "bVar28") (== "==") (identifier "bVar26")) () ")")) (compound_statement "{\n      uVar14 = dcgettext(0,"signature",5);\n    }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"signature",5);" (assignment_expression "uVar14 = dcgettext(0,"signature",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"signature",5)" (identifier "dcgettext") (argument_list "(0,"signature",5)" (( "(") (number_literal "0") (, ",") (string_literal ""signature"" (" """) (string_content "signature") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" (else "else") (compound_statement "{\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"dwo_id",5);" (assignment_expression "uVar14 = dcgettext(0,"dwo_id",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"dwo_id",5)" (identifier "dcgettext") (argument_list "(0,"dwo_id",5)" (( "(") (number_literal "0") (, ",") (string_literal ""dwo_id"" (" """) (string_content "dwo_id") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")))) (expression_statement "printf("  slot  %-16s  ",uVar14);" (call_expression "printf("  slot  %-16s  ",uVar14)" (identifier "printf") (argument_list "("  slot  %-16s  ",uVar14)" (( "(") (string_literal ""  slot  %-16s  "" (" """) (string_content "  slot  %-16s  ") (" """)) (, ",") (identifier "uVar14") () ")"))) (; ";")) (if_statement "if (uVar22 != 0) {\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }" (if "if") (parenthesized_expression "(uVar22 != 0)" (( "(") (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar11 = puVar16;\n      do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);\n    }" ({ "{") (expression_statement "puVar11 = puVar16;" (assignment_expression "puVar11 = puVar16" (identifier "puVar11") (= "=") (identifier "puVar16")) (; ";")) (do_statement "do {\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);" (do "do") (compound_statement "{\n        puVar24 = (undefined8 *)((long)puVar11 + 4);\n        if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }\n        uVar14 = FUN_001100d0(uVar6);\n        printf(" %8s",uVar14);\n        puVar11 = puVar24;\n      }" ({ "{") (expression_statement "puVar24 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar11 + 4)" (identifier "puVar24") (= "=") (cast_expression "(undefined8 *)((long)puVar11 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar11 + 4)" (( "(") (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (puVar24 < puVar2) {\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }\n        else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }" (if "if") (parenthesized_expression "(puVar24 < puVar2)" (( "(") (binary_expression "puVar24 < puVar2" (identifier "puVar24") (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n          lVar15 = 4;\nLAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);\n        }" ({ "{") (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" (identifier "lVar15") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_001224a9:\n          uVar6 = (*DAT_00159e20)(puVar11,lVar15);" (statement_identifier "LAB_001224a9") (: ":") (expression_statement "uVar6 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar6 = (*DAT_00159e20)(puVar11,lVar15)" (identifier "uVar6") (= "=") (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar11,lVar15)" (( "(") (identifier "puVar11") (, ",") (identifier "lVar15") () ")")))) (; ";"))) (} "}")) (else_clause "else {\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }" (else "else") (compound_statement "{\n          uVar6 = 0;\n          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;\n        }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n          goto LAB_001224a9;" (if "if") (parenthesized_expression "((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" (( "(") (binary_expression "(puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" (( "(") (binary_expression "puVar11 < puVar2" (identifier "puVar11") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (( "(") (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" (identifier "lVar15") (= "=") (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")))) (, ",") (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_001224a9;" (goto "goto") (statement_identifier "LAB_001224a9") (; ";"))) (} "}")))) (expression_statement "uVar14 = FUN_001100d0(uVar6);" (assignment_expression "uVar14 = FUN_001100d0(uVar6)" (identifier "uVar14") (= "=") (call_expression "FUN_001100d0(uVar6)" (identifier "FUN_001100d0") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "printf(" %8s",uVar14);" (call_expression "printf(" %8s",uVar14)" (identifier "printf") (argument_list "(" %8s",uVar14)" (( "(") (string_literal "" %8s"" (" """) (string_content " %8s") (" """)) (, ",") (identifier "uVar14") () ")"))) (; ";")) (expression_statement "puVar11 = puVar24;" (assignment_expression "puVar11 = puVar24" (identifier "puVar11") (= "=") (identifier "puVar24")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24)" (( "(") (binary_expression "(undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24" (cast_expression "(undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4)" (( "(") (binary_expression "(long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4" (binary_expression "(long)puVar16 + (ulong)(uVar22 - 1) * 4" (cast_expression "(long)puVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar16")) (+ "+") (binary_expression "(ulong)(uVar22 - 1) * 4" (call_expression "(ulong)(uVar22 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar22 - 1)" (( "(") (binary_expression "uVar22 - 1" (identifier "uVar22") (- "-") (number_literal "1")) () ")"))) (* "*") (number_literal "4"))) (+ "+") (number_literal "4")) () ")"))) (!= "!=") (identifier "puVar24")) () ")")) (; ";")) (} "}"))) (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (if_statement "if (bVar27) goto LAB_00121c31;" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (goto_statement "goto LAB_00121c31;" (goto "goto") (statement_identifier "LAB_00121c31") (; ";"))) (labeled_statement "LAB_001224d4:\n    putchar(10);" (statement_identifier "LAB_001224d4") (: ":") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";"))) (expression_statement "pcVar8 = (char *)dcgettext(0,"  Size table\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  Size table\n",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"  Size table\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Size table\n",5)" (identifier "dcgettext") (argument_list "(0,"  Size table\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Size table\n"" (" """) (string_content "  Size table") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar8);" (call_expression "printf(pcVar8)" (identifier "printf") (argument_list "(pcVar8)" (( "(") (identifier "pcVar8") () ")"))) (; ";")) (if_statement "if (bVar28 == bVar26) {\n      uVar14 = dcgettext(0,"signature",5);\n    }\n    else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" (if "if") (parenthesized_expression "(bVar28 == bVar26)" (( "(") (binary_expression "bVar28 == bVar26" (identifier "bVar28") (== "==") (identifier "bVar26")) () ")")) (compound_statement "{\n      uVar14 = dcgettext(0,"signature",5);\n    }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"signature",5);" (assignment_expression "uVar14 = dcgettext(0,"signature",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"signature",5)" (identifier "dcgettext") (argument_list "(0,"signature",5)" (( "(") (number_literal "0") (, ",") (string_literal ""signature"" (" """) (string_content "signature") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" (else "else") (compound_statement "{\n      uVar14 = dcgettext(0,"dwo_id",5);\n    }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"dwo_id",5);" (assignment_expression "uVar14 = dcgettext(0,"dwo_id",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"dwo_id",5)" (identifier "dcgettext") (argument_list "(0,"dwo_id",5)" (( "(") (number_literal "0") (, ",") (string_literal ""dwo_id"" (" """) (string_content "dwo_id") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")))) (expression_statement "printf("  slot  %-16s  ",uVar14);" (call_expression "printf("  slot  %-16s  ",uVar14)" (identifier "printf") (argument_list "("  slot  %-16s  ",uVar14)" (( "(") (string_literal ""  slot  %-16s  "" (" """) (string_content "  slot  %-16s  ") (" """)) (, ",") (identifier "uVar14") () ")"))) (; ";")) (if_statement "if (uVar22 != 0) goto LAB_001220c6;" (if "if") (parenthesized_expression "(uVar22 != 0)" (( "(") (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001220c6;" (goto "goto") (statement_identifier "LAB_001220c6") (; ";"))) (labeled_statement "LAB_0012253d:\n    putchar(10);" (statement_identifier "LAB_0012253d") (: ":") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";"))) (if_statement "if (!bVar27) goto LAB_00121928;" (if "if") (parenthesized_expression "(!bVar27)" (( "(") (unary_expression "!bVar27" (! "!") (identifier "bVar27")) () ")")) (goto_statement "goto LAB_00121928;" (goto "goto") (statement_identifier "LAB_00121928") (; ";"))) (} "}")))) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  } while (uVar23 < (uint)local_120);" (do "do") (compound_statement "{\n    if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }\n    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;\n    uVar23 = uVar23 + 1;\n    local_e8 = local_e8 + 1;\n    puVar9 = (undefined8 *)((long)puVar9 + 4U);\n  }" ({ "{") (if_statement "if (puVar2 < local_e8 + 1) {\n      local_88 = 0;\n      local_80 = 0;\n    }\n    else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }" (if "if") (parenthesized_expression "(puVar2 < local_e8 + 1)" (( "(") (binary_expression "puVar2 < local_e8 + 1" (identifier "puVar2") (< "<") (binary_expression "local_e8 + 1" (identifier "local_e8") (+ "+") (number_literal "1"))) () ")")) (compound_statement "{\n      local_88 = 0;\n      local_80 = 0;\n    }" ({ "{") (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }" (else "else") (compound_statement "{\n      FUN_00137d20(local_e8,&local_88,&local_80);\n    }" ({ "{") (expression_statement "FUN_00137d20(local_e8,&local_88,&local_80);" (call_expression "FUN_00137d20(local_e8,&local_88,&local_80)" (identifier "FUN_00137d20") (argument_list "(local_e8,&local_88,&local_80)" (( "(") (identifier "local_e8") (, ",") (pointer_expression "&local_88" (& "&") (identifier "local_88")) (, ",") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")"))) (; ";")) (} "}")))) (if_statement "if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }\n    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;" (if "if") (parenthesized_expression "((undefined8 *)((long)puVar9 + 4U) < puVar2)" (( "(") (binary_expression "(undefined8 *)((long)puVar9 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar9 + 4U)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar9 + 4U)" (( "(") (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar9")) (+ "+") (number_literal "4U")) () ")"))) (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n      lVar15 = 4;\nLAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);\n      if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }\n    }" ({ "{") (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" (identifier "lVar15") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_001221df:\n      iVar7 = (*DAT_00159e20)(puVar9,lVar15);" (statement_identifier "LAB_001221df") (: ":") (expression_statement "iVar7 = (*DAT_00159e20)(puVar9,lVar15);" (assignment_expression "iVar7 = (*DAT_00159e20)(puVar9,lVar15)" (identifier "iVar7") (= "=") (call_expression "(*DAT_00159e20)(puVar9,lVar15)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar9,lVar15)" (( "(") (identifier "puVar9") (, ",") (identifier "lVar15") () ")")))) (; ";"))) (if_statement "if (iVar7 != 0) {\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }\n      }" ({ "{") (if_statement "if (param_2 == 0) {\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }\n        else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }\n        }" ({ "{") (if_statement "if (uVar22 != 0) {\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }" (if "if") (parenthesized_expression "(uVar22 != 0)" (( "(") (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00122220:\n            uVar25 = 0;\n            puVar11 = puVar16;\n            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));\n            do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);\n            if (param_2 != 0) goto LAB_001222dc;\n          }" ({ "{") (labeled_statement "LAB_00122220:\n            uVar25 = 0;" (statement_identifier "LAB_00122220") (: ":") (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";"))) (expression_statement "puVar11 = puVar16;" (assignment_expression "puVar11 = puVar16" (identifier "puVar11") (= "=") (identifier "puVar16")) (; ";")) (expression_statement "puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));" (assignment_expression "puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3))" (identifier "puVar24") (= "=") (cast_expression "(undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3))" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3))" (( "(") (binary_expression "lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3)" (identifier "lVar17") (+ "+") (call_expression "(ulong)((iVar7 + 0x3fffffff) * uVar3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((iVar7 + 0x3fffffff) * uVar3)" (( "(") (binary_expression "(iVar7 + 0x3fffffff) * uVar3" (parenthesized_expression "(iVar7 + 0x3fffffff)" (( "(") (binary_expression "iVar7 + 0x3fffffff" (identifier "iVar7") (+ "+") (number_literal "0x3fffffff")) () ")")) (* "*") (identifier "uVar3")) () ")")))) () ")")))) (; ";")) (do_statement "do {\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            } while (uVar25 < uVar22);" (do "do") (compound_statement "{\n              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }\n              if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }\nLAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);\n              uVar25 = uVar25 + 1;\n              puVar24 = (undefined8 *)((long)puVar24 + 4);\n            }" ({ "{") (if_statement "if ((undefined8 *)((long)puVar24 + 4) < puVar2) {\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }\n              else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }" (if "if") (parenthesized_expression "((undefined8 *)((long)puVar24 + 4) < puVar2)" (( "(") (binary_expression "(undefined8 *)((long)puVar24 + 4) < puVar2" (cast_expression "(undefined8 *)((long)puVar24 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar24 + 4)" (( "(") (binary_expression "(long)puVar24 + 4" (cast_expression "(long)puVar24" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar24")) (+ "+") (number_literal "4")) () ")"))) (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n                lVar15 = 4;\nLAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);\n                uVar13 = uVar13 & 0xffffffff;\n              }" ({ "{") (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" (identifier "lVar15") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_001222f5:\n                uVar13 = (*DAT_00159e20)(puVar24,lVar15);" (statement_identifier "LAB_001222f5") (: ":") (expression_statement "uVar13 = (*DAT_00159e20)(puVar24,lVar15);" (assignment_expression "uVar13 = (*DAT_00159e20)(puVar24,lVar15)" (identifier "uVar13") (= "=") (call_expression "(*DAT_00159e20)(puVar24,lVar15)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar24,lVar15)" (( "(") (identifier "puVar24") (, ",") (identifier "lVar15") () ")")))) (; ";"))) (expression_statement "uVar13 = uVar13 & 0xffffffff;" (assignment_expression "uVar13 = uVar13 & 0xffffffff" (identifier "uVar13") (= "=") (binary_expression "uVar13 & 0xffffffff" (identifier "uVar13") (& "&") (number_literal "0xffffffff"))) (; ";")) (} "}")) (else_clause "else {\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }" (else "else") (compound_statement "{\n                uVar13 = 0;\n                if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;\n              }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;" (if "if") (parenthesized_expression "((puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8))" (( "(") (binary_expression "(puVar24 < puVar2) &&\n                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar24 < puVar2)" (( "(") (binary_expression "puVar24 < puVar2" (identifier "puVar24") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)" (( "(") (comma_expression "lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar24" (identifier "lVar15") (= "=") (binary_expression "(long)puVar2 - (long)puVar24" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar24" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar24")))) (, ",") (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_001222f5;" (goto "goto") (statement_identifier "LAB_001222f5") (; ";"))) (} "}")))) (if_statement "if (param_2 == 0) {\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }\n              else {\n                printf(" %8d",uVar13);\n              }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }\n                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;\n              }" ({ "{") (if_statement "if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }\n                else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }" (if "if") (parenthesized_expression "((undefined8 *)((long)puVar11 + 4U) < puVar2)" (( "(") (binary_expression "(undefined8 *)((long)puVar11 + 4U) < puVar2" (cast_expression "(undefined8 *)((long)puVar11 + 4U)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar11 + 4U)" (( "(") (binary_expression "(long)puVar11 + 4U" (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")) (+ "+") (number_literal "4U")) () ")"))) (< "<") (identifier "puVar2")) () ")")) (compound_statement "{\n                  lVar15 = 4;\nLAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);\n                  uVar19 = (ulong)uVar4;\n                  if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }\n                }" ({ "{") (expression_statement "lVar15 = 4;" (assignment_expression "lVar15 = 4" (identifier "lVar15") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00122305:\n                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);" (statement_identifier "LAB_00122305") (: ":") (expression_statement "uVar4 = (*DAT_00159e20)(puVar11,lVar15);" (assignment_expression "uVar4 = (*DAT_00159e20)(puVar11,lVar15)" (identifier "uVar4") (= "=") (call_expression "(*DAT_00159e20)(puVar11,lVar15)" (parenthesized_expression "(*DAT_00159e20)" (( "(") (pointer_expression "*DAT_00159e20" (* "*") (identifier "DAT_00159e20")) () ")")) (argument_list "(puVar11,lVar15)" (( "(") (identifier "puVar11") (, ",") (identifier "lVar15") () ")")))) (; ";"))) (expression_statement "uVar19 = (ulong)uVar4;" (assignment_expression "uVar19 = (ulong)uVar4" (identifier "uVar19") (= "=") (cast_expression "(ulong)uVar4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar4"))) (; ";")) (if_statement "if (7 < uVar4) {\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }" (if "if") (parenthesized_expression "(7 < uVar4)" (( "(") (binary_expression "7 < uVar4" (number_literal "7") (< "<") (identifier "uVar4")) () ")")) (compound_statement "{\n                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);\n                    warn(uVar14,uVar4);\n                    goto LAB_001222b6;\n                  }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5)" (identifier "dcgettext") (argument_list "(0,"Overlarge Dwarf section index detected: %u\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Overlarge Dwarf section index detected: %u\n"" (" """) (string_content "Overlarge Dwarf section index detected: %u") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14,uVar4);" (call_expression "warn(uVar14,uVar4)" (identifier "warn") (argument_list "(uVar14,uVar4)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar4") () ")"))) (; ";")) (goto_statement "goto LAB_001222b6;" (goto "goto") (statement_identifier "LAB_001222b6") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }" (else "else") (compound_statement "{\n                  if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;\n                  uVar19 = 0;\n                }" ({ "{") (if_statement "if ((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))\n                  goto LAB_00122305;" (if "if") (parenthesized_expression "((puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))" (( "(") (binary_expression "(puVar11 < puVar2) &&\n                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar11 < puVar2)" (( "(") (binary_expression "puVar11 < puVar2" (identifier "puVar11") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8)" (( "(") (comma_expression "lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar11" (identifier "lVar15") (= "=") (binary_expression "(long)puVar2 - (long)puVar11" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")))) (, ",") (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_00122305;" (goto "goto") (statement_identifier "LAB_00122305") (; ";"))) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "*(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;" (assignment_expression "*(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13" (pointer_expression "*(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8)" (* "*") (cast_expression "(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8)" (( "(") (binary_expression "local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8" (binary_expression "local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48" (binary_expression "local_b0 + (ulong)(iVar7 - 1) * 0x88" (identifier "local_b0") (+ "+") (binary_expression "(ulong)(iVar7 - 1) * 0x88" (call_expression "(ulong)(iVar7 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar7 - 1)" (( "(") (binary_expression "iVar7 - 1" (identifier "iVar7") (- "-") (number_literal "1")) () ")"))) (* "*") (number_literal "0x88"))) (+ "+") (number_literal "0x48")) (+ "+") (binary_expression "uVar19 * 8" (identifier "uVar19") (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (} "}")) (else_clause "else {\n                printf(" %8d",uVar13);\n              }" (else "else") (compound_statement "{\n                printf(" %8d",uVar13);\n              }" ({ "{") (expression_statement "printf(" %8d",uVar13);" (call_expression "printf(" %8d",uVar13)" (identifier "printf") (argument_list "(" %8d",uVar13)" (( "(") (string_literal "" %8d"" (" """) (string_content " %8d") (" """)) (, ",") (identifier "uVar13") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_001222b6:\n              puVar11 = (undefined8 *)((long)puVar11 + 4);" (statement_identifier "LAB_001222b6") (: ":") (expression_statement "puVar11 = (undefined8 *)((long)puVar11 + 4);" (assignment_expression "puVar11 = (undefined8 *)((long)puVar11 + 4)" (identifier "puVar11") (= "=") (cast_expression "(undefined8 *)((long)puVar11 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar11 + 4)" (( "(") (binary_expression "(long)puVar11 + 4" (cast_expression "(long)puVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar11")) (+ "+") (number_literal "4")) () ")")))) (; ";"))) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" (identifier "uVar25") (= "=") (binary_expression "uVar25 + 1" (identifier "uVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar24 = (undefined8 *)((long)puVar24 + 4);" (assignment_expression "puVar24 = (undefined8 *)((long)puVar24 + 4)" (identifier "puVar24") (= "=") (cast_expression "(undefined8 *)((long)puVar24 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar24 + 4)" (( "(") (binary_expression "(long)puVar24 + 4" (cast_expression "(long)puVar24" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar24")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar25 < uVar22)" (( "(") (binary_expression "uVar25 < uVar22" (identifier "uVar25") (< "<") (identifier "uVar22")) () ")")) (; ";")) (if_statement "if (param_2 != 0) goto LAB_001222dc;" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001222dc;" (goto "goto") (statement_identifier "LAB_001222dc") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" (else "else") (compound_statement "{\n          uVar14 = FUN_001106c0(local_88,local_80,local_78);\n          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);\n          printf(pcVar8,(ulong)uVar23,uVar14);\n          if (uVar22 != 0) goto LAB_00122220;\nLAB_001222dc:\n          putchar(10);\n        }" ({ "{") (expression_statement "uVar14 = FUN_001106c0(local_88,local_80,local_78);" (assignment_expression "uVar14 = FUN_001106c0(local_88,local_80,local_78)" (identifier "uVar14") (= "=") (call_expression "FUN_001106c0(local_88,local_80,local_78)" (identifier "FUN_001106c0") (argument_list "(local_88,local_80,local_78)" (( "(") (identifier "local_88") (, ",") (identifier "local_80") (, ",") (identifier "local_78") () ")")))) (; ";")) (expression_statement "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"  [%3d] 0x%s",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  [%3d] 0x%s",5)" (identifier "dcgettext") (argument_list "(0,"  [%3d] 0x%s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  [%3d] 0x%s"" (" """) (string_content "  [%3d] 0x%s") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar8,(ulong)uVar23,uVar14);" (call_expression "printf(pcVar8,(ulong)uVar23,uVar14)" (identifier "printf") (argument_list "(pcVar8,(ulong)uVar23,uVar14)" (( "(") (identifier "pcVar8") (, ",") (cast_expression "(ulong)uVar23" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar23")) (, ",") (identifier "uVar14") () ")"))) (; ";")) (if_statement "if (uVar22 != 0) goto LAB_00122220;" (if "if") (parenthesized_expression "(uVar22 != 0)" (( "(") (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00122220;" (goto "goto") (statement_identifier "LAB_00122220") (; ";"))) (labeled_statement "LAB_001222dc:\n          putchar(10);" (statement_identifier "LAB_001222dc") (: ":") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";"))) (} "}")))) (} "}"))) (} "}")) (else_clause "else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;" (else "else") (if_statement "if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))\n    goto LAB_001221df;" (if "if") (parenthesized_expression "((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))" (( "(") (binary_expression "(puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8)" (parenthesized_expression "(puVar9 < puVar2)" (( "(") (binary_expression "puVar9 < puVar2" (identifier "puVar9") (< "<") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "(lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8)" (( "(") (comma_expression "lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8" (assignment_expression "lVar15 = (long)puVar2 - (long)puVar9" (identifier "lVar15") (= "=") (binary_expression "(long)puVar2 - (long)puVar9" (cast_expression "(long)puVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar2")) (- "-") (cast_expression "(long)puVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar9")))) (, ",") (binary_expression "(int)lVar15 - 1U < 8" (binary_expression "(int)lVar15 - 1U" (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")"))) () ")")) (goto_statement "goto LAB_001221df;" (goto "goto") (statement_identifier "LAB_001221df") (; ";"))))) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" (identifier "uVar23") (= "=") (binary_expression "uVar23 + 1" (identifier "uVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_e8 = local_e8 + 1;" (assignment_expression "local_e8 = local_e8 + 1" (identifier "local_e8") (= "=") (binary_expression "local_e8 + 1" (identifier "local_e8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar9 = (undefined8 *)((long)puVar9 + 4U);" (assignment_expression "puVar9 = (undefined8 *)((long)puVar9 + 4U)" (identifier "puVar9") (= "=") (cast_expression "(undefined8 *)((long)puVar9 + 4U)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar9 + 4U)" (( "(") (binary_expression "(long)puVar9 + 4U" (cast_expression "(long)puVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar9")) (+ "+") (number_literal "4U")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar23 < (uint)local_120)" (( "(") (binary_expression "uVar23 < (uint)local_120" (identifier "uVar23") (< "<") (cast_expression "(uint)local_120" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_120"))) () ")")) (; ";")) (labeled_statement "LAB_0012191c:\n  if (param_2 == 0) {\n    return 1;\n  }" (statement_identifier "LAB_0012191c") (: ":") (if_statement "if (param_2 == 0) {\n    return 1;\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return 1;\n  }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))) (labeled_statement "LAB_00121928:\n  putchar(10);" (statement_identifier "LAB_00121928") (: ":") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (labeled_statement "LAB_00121a48:\n  if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }" (statement_identifier "LAB_00121a48") (: ":") (if_statement "if (param_2 == 0) {\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }\n  else {\n    putchar(10);\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar13 = (ulong)DAT_00159b90;\n    if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }\n  }" ({ "{") (expression_statement "uVar13 = (ulong)DAT_00159b90;" (assignment_expression "uVar13 = (ulong)DAT_00159b90" (identifier "uVar13") (= "=") (cast_expression "(ulong)DAT_00159b90" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_00159b90"))) (; ";")) (if_statement "if (DAT_00159b90 < DAT_00159b94) {\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }\n    else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }" (if "if") (parenthesized_expression "(DAT_00159b90 < DAT_00159b94)" (( "(") (binary_expression "DAT_00159b90 < DAT_00159b94" (identifier "DAT_00159b90") (< "<") (identifier "DAT_00159b94")) () ")")) (compound_statement "{\n      DAT_00159b90 = DAT_00159b90 + 1;\n      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;\n    }" ({ "{") (expression_statement "DAT_00159b90 = DAT_00159b90 + 1;" (assignment_expression "DAT_00159b90 = DAT_00159b90 + 1" (identifier "DAT_00159b90") (= "=") (binary_expression "DAT_00159b90 + 1" (identifier "DAT_00159b90") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;" (assignment_expression "*(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0" (pointer_expression "*(undefined4 *)(DAT_00159b98 + uVar13 * 4)" (* "*") (cast_expression "(undefined4 *)(DAT_00159b98 + uVar13 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00159b98 + uVar13 * 4)" (( "(") (binary_expression "DAT_00159b98 + uVar13 * 4" (identifier "DAT_00159b98") (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }" (else "else") (compound_statement "{\n      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);\n      error(uVar14);\n    }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"Internal error: out of space in the shndx pool.\n",5)" (identifier "dcgettext") (argument_list "(0,"Internal error: out of space in the shndx pool.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Internal error: out of space in the shndx pool.\n"" (" """) (string_content "Internal error: out of space in the shndx pool.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar14);" (call_expression "error(uVar14)" (identifier "error") (argument_list "(uVar14)" (( "(") (identifier "uVar14") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    putchar(10);\n  }" (else "else") (compound_statement "{\n    putchar(10);\n  }" ({ "{") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (} "}"))))) (goto_statement "goto LAB_0012190b;" (goto "goto") (statement_identifier "LAB_0012190b") (; ";")) (} "}")))

int function_1(type_1 *section,int var_13)

{
  type_1 *var_6;
  type_1 *var_16;
  int var_10;
  type_2 var_7;
  int var_28;
  type_3 var_9;
  char *pcVar7;
  type_4 var_4;
  long var_18;
  type_5 uVar10;
  char *pcVar11;
  type_1 *var_1;
  char **var_8;
  type_1 *var_11;
  type_6 *var_32;
  type_7 dVar16;
  long var_17;
  size_t sVar18;
  type_1 *var_42;
  type_1 *var_5;
  type_1 *var_41;
  type_1 *var_38;
  int var_46;
  type_8 *var_33;
  type_8 *var_34;
  type_2 var_44;
  type_2 var_39;
  bool var_36;
  bool bVar29;
  bool var_35;
  type_8 bVar31;
  type_1 *local_128;
  type_4 local_120;
  size_t local_100;
  type_9 *local_f0;
  char **var_24;
  type_9 *var_40;
  type_7 var_26;
  type_7 var_27;
  char buf [64];
  
  bVar31 = 0;
  var_1 = (type_1 *)section->start;
  var_4 = section->size;
  if (var_1 == (type_1 *)0x0) {
    pcVar7 = section->name;
    pcVar11 = "Section %s is empty\n";
LAB_00121880:
    pcVar11 = (char *)var_2(0,pcVar11,5);
    var_3(pcVar11,pcVar7);
    return 0;
  }
  if (var_4 < 0x18) {
    pcVar7 = section->name;
    pcVar11 = "Section %s is too small to contain a CU/TU header\n";
    goto LAB_00121880;
  }
  var_6 = (type_1 *)((long)&var_1->uncompressed_name + var_4);
  var_5 = (type_1 *)((long)&var_1->uncompressed_name + 4);
  var_8 = &var_1->compressed_name;
  var_10 = (int)var_4;
  if (var_5 < var_6) {
    var_28 = 4;
LAB_0012154d:
    var_9 = (*byte_get)((type_6 *)var_1,var_28);
    var_7 = (type_2)var_9;
    if (var_7 < 2) {
      local_128 = (type_1 *)0x0;
      goto LAB_00121690;
    }
    if (var_8 < var_6) {
      var_28 = 4;
LAB_0012183d:
      var_9 = (*byte_get)((type_6 *)var_5,var_28);
      local_128 = (type_1 *)(var_9 & 0xffffffff);
      goto LAB_00121690;
    }
    if ((var_5 < var_6) && (var_28 = var_10 + -4, var_10 - 5U < 8)) goto LAB_0012183d;
    local_128 = (type_1 *)0x0;
    if (var_6 <= (type_1 *)((long)&var_1->compressed_name + 4)) goto LAB_001215a0;
LAB_00121780:
    var_9 = (*byte_get)((type_6 *)var_8,4);
    local_100 = var_9 & 0xffffffff;
    if (&var_1->name < var_6) {
LAB_001216e0:
      var_28 = 4;
    }
    else {
      var_28 = var_10 + -0xc;
      if (7 < var_10 - 0xdU) {
LAB_001217b9:
        var_11 = (type_1 *)((long)&var_1->compressed_name + 4);
        var_5 = (type_1 *)&var_1->name;
        local_120 = 0;
        bVar29 = false;
        var_16 = var_5;
        goto joined_r0x001217d3;
      }
    }
    var_8 = &var_1->name;
    var_4 = (*byte_get)((type_6 *)((long)&var_1->compressed_name + 4),var_28);
    var_10 = (int)var_4;
    local_120 = var_4 & 0xffffffff;
    var_5 = (type_1 *)((long)var_8 + (type_4)(type_2)(var_10 * 8));
    var_11 = (type_1 *)((long)&var_5->uncompressed_name + (type_4)(type_2)(var_10 * 4));
    if (((var_5 < var_8) || (var_11 < var_1)) ||
       ((bVar29 = var_10 != 0, var_16 = var_11, (type_1 *)var_8 == var_5 && (bVar29))))
    {
      pcVar7 = section->name;
      pcVar11 = (char *)var_12(0,"Section %s is too small for %d slot\n",
                                   "Section %s is too small for %d slots\n",var_4 & 0xffffffff,5);
      goto LAB_0012175d;
    }
  }
  else {
    if ((var_1 < var_6) && (var_28 = var_10, var_10 - 1U < 8)) goto LAB_0012154d;
    var_7 = 0;
    local_128 = (type_1 *)0x0;
LAB_00121690:
    if ((type_1 *)((long)&var_1->compressed_name + 4) < var_6) goto LAB_00121780;
    if ((var_8 < var_6) && (var_10 - 9U < 8)) {
      var_9 = (*byte_get)((type_6 *)var_8,var_10 + -8);
      local_100 = var_9 & 0xffffffff;
      if (&var_1->name < var_6) goto LAB_001216e0;
      goto LAB_001217b9;
    }
LAB_001215a0:
    var_11 = (type_1 *)((long)&var_1->compressed_name + 4);
    var_5 = (type_1 *)&var_1->name;
    if (var_5 < var_6) {
      local_100 = 0;
      goto LAB_001216e0;
    }
    local_100 = 0;
    local_120 = 0;
    bVar29 = false;
    var_16 = var_5;
  }
joined_r0x001217d3:
  var_4 = local_120;
  if (var_13 != 0) {
    var_14((type_1 *)section->name,(int)section + 0x18,var_11);
    pcVar7 = (char *)var_2(0,"  Version:                 %d\n",5);
    var_15(pcVar7,(type_4)var_7);
    if (1 < var_7) {
      pcVar7 = (char *)var_2(0,"  Number of columns:       %d\n",5);
      var_15(pcVar7,local_128);
    }
    pcVar7 = (char *)var_2(0,"  Number of used entries:  %d\n",5);
    var_15(pcVar7,local_100);
    pcVar7 = (char *)var_2(0,"  Number of slots:         %d\n\n",5);
    var_15(pcVar7,var_4);
  }
  var_24 = &var_1->name;
  local_120._0_4_ = (type_2)var_4;
  if (var_6 < var_16) {
    pcVar7 = section->name;
    pcVar11 = (char *)var_2(0,"Section %s too small for %d hash table entries\n",5);
LAB_0012175d:
    var_3(pcVar11,pcVar7,var_4 & 0xffffffff);
    return 0;
  }
  var_10 = (int)var_6;
  if (var_7 == 1) {
    if (var_13 == 0) {
      var_17 = (long)var_6 - (long)var_16;
      var_18 = var_17 + 3;
      if (-1 < var_17) {
        var_18 = var_17;
      }
      var_21 = (type_2)(var_18 >> 2);
      if (var_19 == (type_2 *)0x0) {
        var_22 = 0;
        var_19 = (type_2 *)var_20(var_18 >> 2 & 0xffffffff,4);
      }
      else {
        var_21 = var_21 + var_22;
        var_19 = (type_2 *)var_23(var_19,(type_4)var_21 * 4);
      }
      if (!bVar29) {
        return 1;
      }
    }
    else if (!bVar29) goto LAB_00121928;
    var_7 = 0;
LAB_001218e6:
    var_1 = (type_1 *)((long)&var_5->uncompressed_name + 4);
    if (var_24 + 1 <= var_6) {
      var_25((type_6 *)var_24,&var_26,&var_27);
      if ((var_26 == 0) && (var_27 == 0)) goto LAB_0012190b;
      var_28 = 4;
      if ((var_1 < var_6) ||
         ((var_11 = var_16, var_5 < var_6 && (var_28 = var_10 - (int)var_5, var_28 - 1U < 8)))) {
        var_9 = (*byte_get)((type_6 *)var_5,var_28);
        var_4 = (type_4)(type_2)((int)var_9 * 4);
        var_11 = (type_1 *)((long)&var_16->uncompressed_name + var_4);
        if (var_29(var_4,(type_4)var_16)) {
          pcVar7 = (char *)var_2(0,"Section index pool located before start of section\n",5);
          var_3(pcVar7);
          return 0;
        }
      }
      if (var_13 != 0) {
        pcVar7 = var_30(var_26,var_27,buf,(type_2)var_11);
        pcVar11 = (char *)var_2(0,"  [%3d] Signature:  0x%s  Sections: ",5);
        var_15(pcVar11,(type_4)var_7,pcVar7);
      }
      if (var_11 < var_6) {
        do {
          var_5 = (type_1 *)((long)&var_11->uncompressed_name + 4);
          if (var_5 < var_6) {
            var_28 = 4;
          }
          else {
            var_28 = var_10 - (int)var_11;
            if (7 < var_28 - 1U) goto LAB_00121a48;
          }
          var_9 = (*byte_get)((type_6 *)var_11,var_28);
          if ((type_2)var_9 == 0) goto LAB_00121a48;
          if (var_13 == 0) {
            var_4 = (type_4)var_22;
            if (var_22 < var_21) {
              var_22 = var_22 + 1;
              var_19[var_4] = (type_2)var_9;
            }
            else {
              pcVar7 = (char *)var_2(0,"Internal error: out of space in the shndx pool.\n",5);
              var_31(pcVar7);
            }
          }
          else {
            var_15(" %d",var_9 & 0xffffffff);
          }
          var_11 = var_5;
          if (var_6 <= var_5) break;
        } while( true );
      }
      pcVar11 = "Section %s too small for shndx pool\n";
      pcVar7 = section->name;
      goto LAB_00121880;
    }
    var_26 = 0;
    var_27 = 0;
LAB_0012190b:
    var_7 = var_7 + 1;
    var_5 = var_1;
    var_24 = var_24 + 1;
    if ((type_2)local_120 <= var_7) goto LAB_0012191c;
    goto LAB_001218e6;
  }
  if (var_7 != 2) {
    if (var_13 == 0) {
      return 1;
    }
    pcVar7 = (char *)var_2(0,"  Unsupported version (%d)\n",5);
    var_15(pcVar7,(type_4)var_7);
    goto LAB_00121928;
  }
  var_7 = (type_2)local_128 * 4;
  var_4 = (type_4)var_7;
  var_32 = (type_6 *)((long)&var_16->uncompressed_name + var_4);
  if ((var_29((type_4)var_16,var_4)) || ((type_2)local_128 != (type_2)((long)var_4 >> 2))) {
    pcVar7 = (char *)var_2(0,"Overlarge number of columns: %x\n",5);
    var_3(pcVar7,local_128);
    return 0;
  }
  var_33 = (type_8 *)section->name;
  var_36 = var_6 < (type_1 *)(var_32 + (type_4)(var_7 * (type_2)local_100) * 2);
  var_35 = var_6 == (type_1 *)(var_32 + (type_4)(var_7 * (type_2)local_100) * 2);
  if (var_36) {
    pcVar7 = (char *)var_2(0,"Section %s too small for offset and size tables\n",5);
    var_3(pcVar7,var_33);
    return 0;
  }
  var_1 = (type_1 *)0x10;
  var_34 = (type_8 *)".debug_tu_index";
  do {
    if (var_1 == (type_1 *)0x0) break;
    var_1 = (type_1 *)((long)&var_1[-1].user_data + 7);
    var_36 = *var_33 < *var_34;
    var_35 = *var_33 == *var_34;
    var_33 = var_33 + (type_4)bVar31 * -2 + 1;
    var_34 = var_34 + (type_4)bVar31 * -2 + 1;
  } while (var_35);
  var_35 = !var_36 && !var_35;
  if (var_13 == 0) {
    if (var_35 == var_36) {
      tu_count = (type_2)local_100;
      tu_sets = (type_9 *)var_37(local_100,0x88);
      var_40 = tu_sets;
    }
    else {
      cu_count = (type_2)local_100;
      cu_sets = (type_9 *)var_37(local_100,0x88);
      var_40 = cu_sets;
    }
    if (bVar29) {
LAB_00121c31:
      var_44 = 0;
      var_8 = var_24;
      var_11 = var_5;
      do {
        var_1 = (type_1 *)(var_8 + 1);
        if (var_6 < var_1) {
          var_26 = 0;
          var_27 = 0;
        }
        else {
          var_25((type_6 *)var_8,&var_26,&var_27);
        }
        var_38 = (type_1 *)((long)&var_11->uncompressed_name + 4);
        if (var_38 < var_6) {
          var_28 = 4;
LAB_00121cdf:
          var_9 = (*byte_get)((type_6 *)var_11,var_28);
          var_39 = (type_2)var_9;
          if (var_39 != 0) {
            if ((type_2)local_100 < var_39) {
              pcVar7 = (char *)var_2(0,
                                         "Row index (%u) is larger than number of used entries (%u)\n"
                                         ,5);
              var_3(pcVar7,var_9 & 0xffffffff,local_100);
              return 0;
            }
            if (var_13 == 0) {
              if (var_6 <= var_1) {
                pcVar7 = (char *)var_2(0,
                                           "Signature (%p) extends beyond end of space in section\n"
                                           ,5);
                var_3(pcVar7,var_8);
                return 0;
              }
              var_4 = (type_4)((var_39 + 0x3fffffff) * var_7);
              local_f0 = var_40 + (var_39 - 1);
              local_f0->signature = (uint64_t)*var_8;
              var_11 = (type_1 *)(var_32 + var_4);
              if ((var_29(var_4,(type_4)var_32)) || (var_6 < var_11)) {
LAB_00122050:
                pcVar7 = (char *)var_2(0,
                                           "Row index (%u) * num columns (%u) > space remaining in section\n"
                                           ,5);
                var_3(pcVar7,var_9 & 0xffffffff,local_128);
                return 0;
              }
              if ((type_2)local_128 != 0) {
LAB_00121d72:
                var_39 = 0;
                var_42 = var_16;
                do {
                  var_41 = (type_1 *)((long)&var_11->uncompressed_name + 4);
                  if (var_41 < var_6) {
                    var_28 = 4;
LAB_00121e65:
                    var_9 = (*byte_get)((type_6 *)var_11,var_28);
                    dVar16 = var_9 & 0xffffffff;
                    if (var_13 == 0) goto LAB_00121dca;
LAB_00121e76:
                    var_15(" %8d",dVar16);
                  }
                  else {
                    dVar16 = 0;
                    if ((var_11 < var_6) && (var_28 = var_10 - (int)var_11, var_28 - 1U < 8))
                    goto LAB_00121e65;
                    if (var_13 != 0) goto LAB_00121e76;
LAB_00121dca:
                    if ((type_1 *)((long)&var_42->uncompressed_name + 4) < var_6) {
                      var_28 = 4;
LAB_00121e95:
                      var_9 = (*byte_get)((type_6 *)var_42,var_28);
                      var_4 = var_9 & 0xffffffff;
                      if (7 < (type_2)var_9) {
                        pcVar7 = (char *)var_2(0,"Overlarge Dwarf section index detected: %u\n",
                                                   5);
                        var_3(pcVar7,var_9 & 0xffffffff);
                        goto LAB_00121dfa;
                      }
                    }
                    else {
                      if ((var_42 < var_6) && (var_28 = var_10 - (int)var_42, var_28 - 1U < 8))
                      goto LAB_00121e95;
                      var_4 = 0;
                    }
                    local_f0->section_offsets[var_4] = dVar16;
                  }
LAB_00121dfa:
                  var_42 = (type_1 *)((long)&var_42->uncompressed_name + 4);
                  var_39 = var_39 + 1;
                  var_11 = var_41;
                } while (var_39 < (type_2)local_128);
                if (var_13 != 0) goto LAB_00121e1f;
              }
            }
            else {
              var_4 = (type_4)((var_39 + 0x3fffffff) * var_7);
              var_11 = (type_1 *)(var_32 + var_4);
              if ((var_29(var_4,(type_4)var_32)) || (var_6 < var_11)) goto LAB_00122050;
              pcVar7 = var_30(var_26,var_27,buf,(type_2)var_11);
              pcVar11 = (char *)var_2(0,"  [%3d] 0x%s",5);
              var_15(pcVar11,(type_4)var_44,pcVar7);
              if ((type_2)local_128 != 0) {
                local_f0 = var_40 + (var_39 - 1);
                goto LAB_00121d72;
              }
LAB_00121e1f:
              var_43(10);
            }
          }
        }
        else if ((var_11 < var_6) && (var_28 = var_10 - (int)var_11, var_28 - 1U < 8))
        goto LAB_00121cdf;
        var_44 = var_44 + 1;
        var_8 = (char **)var_1;
        var_11 = var_38;
      } while (var_44 < (type_2)local_120);
      if (var_13 != 0) goto LAB_001224d4;
    }
    if ((type_2)local_128 != 0) {
LAB_001220c6:
      var_44 = 0;
      var_11 = var_16;
      do {
        var_38 = (type_1 *)((long)&var_11->uncompressed_name + 4);
        if (var_38 < var_6) {
          var_28 = 4;
LAB_0012210c:
          var_9 = (*byte_get)((type_6 *)var_11,var_28);
          var_39 = (type_2)var_9;
        }
        else {
          var_39 = 0;
          if ((var_11 < var_6) && (var_28 = var_10 - (int)var_11, var_28 - 1U < 8))
          goto LAB_0012210c;
        }
        if (var_13 != 0) {
          pcVar7 = var_45(var_39);
          var_15(" %8s",pcVar7);
        }
        var_44 = var_44 + 1;
        var_11 = var_38;
      } while (var_44 < (type_2)local_128);
      if (var_13 != 0) goto LAB_0012253d;
    }
    if (!bVar29) {
      return 1;
    }
  }
  else {
    pcVar7 = (char *)var_2(0,"  Offset table\n",5);
    var_15(pcVar7);
    if (var_35 == var_36) {
      uVar10 = var_2(0,"signature",5);
    }
    else {
      uVar10 = var_2(0,"dwo_id",5);
    }
    var_15("  slot  %-16s  ",uVar10);
    if ((type_2)local_128 != 0) {
      var_1 = var_16;
      var_11 = var_16;
      do {
        var_38 = (type_1 *)((long)&var_11->uncompressed_name + 4);
        if (var_38 < var_6) {
          var_28 = 4;
LAB_001224a9:
          var_9 = (*byte_get)((type_6 *)var_11,var_28);
          var_44 = (type_2)var_9;
        }
        else {
          var_44 = 0;
          if ((var_11 < var_6) && (var_28 = var_10 - (int)var_11, var_28 - 1U < 8))
          goto LAB_001224a9;
        }
        pcVar7 = var_45(var_44);
        var_15(" %8s",pcVar7);
        var_11 = var_38;
      } while ((type_1 *)
               ((long)&var_16->uncompressed_name + (type_4)((type_2)local_128 - 1) * 4 + 4) != var_38)
      ;
    }
    var_43(10);
    var_40 = (type_9 *)0x0;
    if (bVar29) goto LAB_00121c31;
LAB_001224d4:
    var_43(10);
    pcVar7 = (char *)var_2(0,"  Size table\n",5);
    var_15(pcVar7);
    if (var_35 == var_36) {
      uVar10 = var_2(0,"signature",5);
    }
    else {
      uVar10 = var_2(0,"dwo_id",5);
    }
    var_15("  slot  %-16s  ",uVar10);
    if ((type_2)local_128 != 0) goto LAB_001220c6;
LAB_0012253d:
    var_43(10);
    if (!bVar29) goto LAB_00121928;
  }
  var_44 = 0;
  do {
    if (var_6 < var_24 + 1) {
      var_26 = 0;
      var_27 = 0;
    }
    else {
      var_25((type_6 *)var_24,&var_26,&var_27);
    }
    var_11 = (type_1 *)((long)&var_5->uncompressed_name + 4);
    if (var_11 < var_6) {
      var_28 = 4;
LAB_001221df:
      var_9 = (*byte_get)((type_6 *)var_5,var_28);
      var_28 = (int)var_9;
      if (var_28 != 0) {
        if (var_13 == 0) {
          if ((type_2)local_128 != 0) {
LAB_00122220:
            var_39 = 0;
            var_5 = var_16;
            var_38 = (type_1 *)
                      (var_32 +
                      (type_4)((var_28 + 0x3fffffff) * var_7) + (type_4)(var_7 * (type_2)local_100));
            do {
              var_42 = (type_1 *)((long)&var_38->uncompressed_name + 4);
              if (var_42 < var_6) {
                var_46 = 4;
LAB_001222f5:
                var_9 = (*byte_get)((type_6 *)var_38,var_46);
                sVar18 = var_9 & 0xffffffff;
              }
              else {
                sVar18 = 0;
                if ((var_38 < var_6) && (var_46 = var_10 - (int)var_38, var_46 - 1U < 8))
                goto LAB_001222f5;
              }
              if (var_13 == 0) {
                if ((type_1 *)((long)&var_5->uncompressed_name + 4) < var_6) {
                  var_46 = 4;
LAB_00122305:
                  var_9 = (*byte_get)((type_6 *)var_5,var_46);
                  var_4 = var_9 & 0xffffffff;
                  if (7 < (type_2)var_9) {
                    pcVar7 = (char *)var_2(0,"Overlarge Dwarf section index detected: %u\n",5);
                    var_3(pcVar7,var_9 & 0xffffffff);
                    goto LAB_001222b6;
                  }
                }
                else {
                  if ((var_5 < var_6) && (var_46 = var_10 - (int)var_5, var_46 - 1U < 8))
                  goto LAB_00122305;
                  var_4 = 0;
                }
                var_40[var_28 - 1].section_sizes[var_4] = sVar18;
              }
              else {
                var_15(" %8d",sVar18);
              }
LAB_001222b6:
              var_5 = (type_1 *)((long)&var_5->uncompressed_name + 4);
              var_39 = var_39 + 1;
              var_38 = var_42;
            } while (var_39 < (type_2)local_128);
            if (var_13 != 0) goto LAB_001222dc;
          }
        }
        else {
          pcVar7 = var_30(var_26,var_27,buf,(type_2)var_1);
          pcVar11 = (char *)var_2(0,"  [%3d] 0x%s",5);
          var_15(pcVar11,(type_4)var_44,pcVar7);
          var_1 = local_128;
          if ((type_2)local_128 != 0) goto LAB_00122220;
LAB_001222dc:
          var_43(10);
        }
      }
    }
    else if ((var_5 < var_6) && (var_28 = var_10 - (int)var_5, var_28 - 1U < 8))
    goto LAB_001221df;
    var_44 = var_44 + 1;
    var_24 = var_24 + 1;
    var_5 = var_11;
  } while (var_44 < (type_2)local_120);
LAB_0012191c:
  if (var_13 == 0) {
    return 1;
  }
LAB_00121928:
  var_43(10);
  return 1;
LAB_00121a48:
  if (var_13 == 0) {
    var_4 = (type_4)var_22;
    if (var_22 < var_21) {
      var_22 = var_22 + 1;
      var_19[var_4] = 0;
    }
    else {
      pcVar7 = (char *)var_2(0,"Internal error: out of space in the shndx pool.\n",5);
      var_31(pcVar7);
    }
  }
  else {
    var_43(10);
  }
  goto LAB_0012190b;
}


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

undefined8 MASKED(long param_1,int param_2)

{
  undefined8 *puVar1;
  undefined8 *puVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  undefined4 uVar6;
  int iVar7;
  char *pcVar8;
  undefined8 *puVar9;
  undefined8 uVar10;
  undefined8 *puVar11;
  ulong uVar12;
  ulong uVar13;
  undefined8 uVar14;
  long lVar15;
  undefined8 *puVar16;
  long lVar17;
  undefined8 *puVar18;
  ulong uVar19;
  byte *pbVar20;
  byte *pbVar21;
  uint uVar22;
  uint uVar23;
  undefined8 *puVar24;
  uint uVar25;
  bool bVar26;
  bool bVar27;
  bool bVar28;
  byte bVar29;
  ulong local_120;
  undefined8 *local_f0;
  undefined8 *local_e8;
  long local_b0;
  long local_88;
  long local_80;
  undefined1 local_78 [72];
  
  bVar29 = 0;
  local_e8 = *(undefined8 **)(param_1 + 0x20);
  uVar13 = *(ulong *)(param_1 + 0x30);
  if (local_e8 == (undefined8 *)0x0) {
    uVar14 = *(undefined8 *)(param_1 + 0x10);
    pcVar8 = "Section %s is empty\n";
LAB_00121880:
    uVar10 = dcgettext(0,pcVar8,5);
    warn(uVar10,uVar14);
    return 0;
  }
  if (uVar13 < 0x18) {
    uVar14 = *(undefined8 *)(param_1 + 0x10);
    pcVar8 = "Section %s is too small to contain a CU/TU header\n";
    goto LAB_00121880;
  }
  puVar2 = (undefined8 *)((long)local_e8 + uVar13);
  puVar9 = (undefined8 *)((long)local_e8 + 4);
  puVar16 = local_e8 + 1;
  if (puVar9 < puVar2) {
    uVar19 = 4;
LAB_0012154d:
    uVar3 = (*DAT_00159e20)(local_e8,uVar19);
    if (uVar3 < 2) {
      uVar22 = 0;
      goto LAB_00121690;
    }
    if (puVar16 < puVar2) {
      lVar17 = 4;
LAB_0012183d:
      uVar22 = (*DAT_00159e20)(puVar9,lVar17);
      goto LAB_00121690;
    }
    if ((puVar9 < puVar2) && (lVar17 = uVar13 - 4, (int)lVar17 - 1U < 8)) goto LAB_0012183d;
    uVar22 = 0;
    if (puVar2 <= (undefined8 *)((long)local_e8 + 0xcU)) goto LAB_001215a0;
LAB_00121780:
    uVar23 = (*DAT_00159e20)(puVar16,4);
    if (local_e8 + 2 < puVar2) {
LAB_001216e0:
      lVar17 = 4;
    }
    else {
      lVar17 = uVar13 - 0xc;
      if (7 < (int)lVar17 - 1U) {
LAB_001217b9:
        puVar9 = local_e8 + 2;
        local_120 = 0;
        bVar27 = false;
        puVar16 = puVar9;
        goto joined_r0x001217d3;
      }
    }
    puVar11 = local_e8 + 2;
    uVar13 = (*DAT_00159e20)((long)local_e8 + 0xc,lVar17);
    iVar7 = (int)uVar13;
    local_120 = uVar13 & 0xffffffff;
    puVar9 = (undefined8 *)((ulong)(uint)(iVar7 * 8) + (long)puVar11);
    puVar16 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar9);
    if (((puVar9 < puVar11) || (puVar16 < local_e8)) ||
       ((bVar27 = iVar7 != 0, puVar11 == puVar9 && (bVar27)))) {
      uVar14 = *(undefined8 *)(param_1 + 0x10);
      uVar10 = dcngettext(0,"Section %s is too small for %d slot\n",
                          "Section %s is too small for %d slots\n",uVar13 & 0xffffffff,5);
      goto LAB_0012175d;
    }
  }
  else {
    if ((local_e8 < puVar2) && ((int)uVar13 - 1U < 8)) {
      uVar19 = uVar13 & 0xffffffff;
      goto LAB_0012154d;
    }
    uVar3 = 0;
    uVar22 = 0;
LAB_00121690:
    if ((undefined8 *)((long)local_e8 + 0xcU) < puVar2) goto LAB_00121780;
    if ((puVar16 < puVar2) && ((int)(uVar13 - 8) - 1U < 8)) {
      uVar23 = (*DAT_00159e20)(puVar16,uVar13 - 8 & 0xffffffff);
      if (local_e8 + 2 < puVar2) goto LAB_001216e0;
      goto LAB_001217b9;
    }
LAB_001215a0:
    puVar9 = local_e8 + 2;
    if (puVar9 < puVar2) {
      uVar23 = 0;
      goto LAB_001216e0;
    }
    uVar23 = 0;
    local_120 = 0;
    bVar27 = false;
    puVar16 = puVar9;
  }
joined_r0x001217d3:
  uVar13 = local_120;
  if (param_2 != 0) {
    FUN_00110740(*(undefined8 *)(param_1 + 0x10),param_1 + 0x18);
    pcVar8 = (char *)dcgettext(0,"  Version:                 %d\n",5);
    printf(pcVar8,(ulong)uVar3);
    if (1 < uVar3) {
      pcVar8 = (char *)dcgettext(0,"  Number of columns:       %d\n",5);
      printf(pcVar8,(ulong)uVar22);
    }
    pcVar8 = (char *)dcgettext(0,"  Number of used entries:  %d\n",5);
    printf(pcVar8,uVar23);
    pcVar8 = (char *)dcgettext(0,"  Number of slots:         %d\n\n",5);
    printf(pcVar8,uVar13);
  }
  local_e8 = local_e8 + 2;
  local_120._0_4_ = (uint)uVar13;
  if (puVar2 < puVar16) {
    uVar14 = *(undefined8 *)(param_1 + 0x10);
    uVar10 = dcgettext(0,"Section %s too small for %d hash table entries\n",5);
LAB_0012175d:
    warn(uVar10,uVar14,uVar13 & 0xffffffff);
    return 0;
  }
  if (uVar3 == 1) {
    if (param_2 == 0) {
      lVar15 = (long)puVar2 - (long)puVar16;
      lVar17 = lVar15 + 3;
      if (-1 < lVar15) {
        lVar17 = lVar15;
      }
      DAT_00159b94 = (uint)(lVar17 >> 2);
      if (DAT_00159b98 == 0) {
        DAT_00159b90 = 0;
        DAT_00159b98 = FUN_0011e220(lVar17 >> 2 & 0xffffffff,4);
      }
      else {
        DAT_00159b94 = DAT_00159b94 + DAT_00159b90;
        DAT_00159b98 = xrealloc(DAT_00159b98,(ulong)DAT_00159b94 * 4);
      }
      if (!bVar27) {
        return 1;
      }
    }
    else if (!bVar27) goto LAB_00121928;
    uVar22 = 0;
LAB_001218e6:
    if (puVar2 < local_e8 + 1) {
      local_88 = 0;
      local_80 = 0;
      goto LAB_0012190b;
    }
    FUN_00137d20(local_e8,&local_88,&local_80);
    if ((local_88 != 0) || (local_80 != 0)) {
      lVar17 = 4;
      if (((undefined8 *)((long)puVar9 + 4U) < puVar2) ||
         ((puVar11 = puVar16, puVar9 < puVar2 &&
          (lVar17 = (long)puVar2 - (long)puVar9, (int)lVar17 - 1U < 8)))) {
        iVar7 = (*DAT_00159e20)(puVar9,lVar17);
        puVar11 = (undefined8 *)((ulong)(uint)(iVar7 * 4) + (long)puVar16);
        if (CARRY8((ulong)(uint)(iVar7 * 4),(ulong)puVar16)) {
          uVar14 = dcgettext(0,"Section index pool located before start of section\n",5);
          warn(uVar14);
          return 0;
        }
      }
      if (param_2 != 0) {
        uVar14 = FUN_001106c0(local_88,local_80,local_78);
        pcVar8 = (char *)dcgettext(0,"  [%3d] Signature:  0x%s  Sections: ",5);
        printf(pcVar8,(ulong)uVar22,uVar14);
      }
      if (puVar11 < puVar2) {
        do {
          puVar24 = (undefined8 *)((long)puVar11 + 4);
          if (puVar24 < puVar2) {
            lVar17 = 4;
          }
          else {
            lVar17 = (long)puVar2 - (long)puVar11;
            if (7 < (int)lVar17 - 1U) goto LAB_00121a48;
          }
          uVar3 = (*DAT_00159e20)(puVar11,lVar17);
          if (uVar3 == 0) goto LAB_00121a48;
          if (param_2 == 0) {
            uVar13 = (ulong)DAT_00159b90;
            if (DAT_00159b90 < DAT_00159b94) {
              DAT_00159b90 = DAT_00159b90 + 1;
              *(uint *)(DAT_00159b98 + uVar13 * 4) = uVar3;
            }
            else {
              dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);
              error();
            }
          }
          else {
            printf(" %d",(ulong)uVar3);
          }
          puVar11 = puVar24;
          if (puVar2 <= puVar24) break;
        } while( true );
      }
      pcVar8 = "Section %s too small for shndx pool\n";
      uVar14 = *(undefined8 *)(param_1 + 0x10);
      goto LAB_00121880;
    }
LAB_0012190b:
    uVar22 = uVar22 + 1;
    puVar9 = (undefined8 *)((long)puVar9 + 4U);
    local_e8 = local_e8 + 1;
    if ((uint)local_120 <= uVar22) goto LAB_0012191c;
    goto LAB_001218e6;
  }
  if (uVar3 != 2) {
    if (param_2 == 0) {
      return 1;
    }
    pcVar8 = (char *)dcgettext(0,"  Unsupported version (%d)\n",5);
    printf(pcVar8,(ulong)uVar3);
    goto LAB_00121928;
  }
  uVar3 = uVar22 * 4;
  uVar13 = (ulong)uVar3;
  uVar19 = (long)puVar16 + uVar13;
  if ((CARRY8((ulong)puVar16,uVar13)) || (uVar22 != (uint)((long)uVar13 >> 2))) {
    uVar14 = dcgettext(0,"Overlarge number of columns: %x\n",5);
    warn(uVar14,uVar22);
    return 0;
  }
  pbVar20 = *(byte **)(param_1 + 0x10);
  lVar17 = uVar19 + uVar3 * uVar23;
  puVar11 = (undefined8 *)((ulong)(uVar3 * uVar23) + lVar17);
  bVar26 = puVar2 < puVar11;
  bVar28 = puVar2 == puVar11;
  if (bVar26) {
    uVar14 = dcgettext(0,"Section %s too small for offset and size tables\n",5);
    warn(uVar14,pbVar20);
    return 0;
  }
  lVar15 = 0x10;
  pbVar21 = (byte *)".debug_tu_index";
  do {
    if (lVar15 == 0) break;
    lVar15 = lVar15 + -1;
    bVar26 = *pbVar20 < *pbVar21;
    bVar28 = *pbVar20 == *pbVar21;
    pbVar20 = pbVar20 + (ulong)bVar29 * -2 + 1;
    pbVar21 = pbVar21 + (ulong)bVar29 * -2 + 1;
  } while (bVar28);
  bVar28 = !bVar26 && !bVar28;
  if (param_2 == 0) {
    if (bVar28 == bVar26) {
      DAT_00159b78 = uVar23;
      DAT_00159b68 = FUN_001214b0(uVar23,0x88);
      local_b0 = DAT_00159b68;
    }
    else {
      DAT_00159b7c = uVar23;
      DAT_00159b70 = FUN_001214b0(uVar23,0x88);
      local_b0 = DAT_00159b70;
    }
    if (bVar27) {
LAB_00121c31:
      uVar25 = 0;
      puVar11 = local_e8;
      puVar24 = puVar9;
      do {
        puVar1 = puVar11 + 1;
        if (puVar2 < puVar1) {
          local_88 = 0;
          local_80 = 0;
        }
        else {
          FUN_00137d20(puVar11,&local_88,&local_80);
        }
        if ((undefined8 *)((long)puVar24 + 4U) < puVar2) {
          lVar15 = 4;
LAB_00121cdf:
          uVar4 = (*DAT_00159e20)(puVar24,lVar15);
          if (uVar4 != 0) {
            if (uVar23 < uVar4) {
              uVar14 = dcgettext(0,"Row index (%u) is larger than number of used entries (%u)\n",5);
              warn(uVar14,uVar4,uVar23);
              return 0;
            }
            if (param_2 == 0) {
              if (puVar2 <= puVar1) {
                uVar14 = dcgettext(0,"Signature (%p) extends beyond end of space in section\n",5);
                warn(uVar14,puVar11);
                return 0;
              }
              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);
              local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);
              *local_f0 = *puVar11;
              puVar11 = (undefined8 *)(uVar13 + uVar19);
              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) {
LAB_00122050:
                uVar14 = dcgettext(0,
                                   "Row index (%u) * num columns (%u) > space remaining in section\n"
                                   ,5);
                warn(uVar14,uVar4,uVar22);
                return 0;
              }
              if (uVar22 != 0) {
LAB_00121d72:
                uVar4 = 0;
                puVar18 = puVar16;
                do {
                  if ((undefined8 *)((long)puVar11 + 4) < puVar2) {
                    lVar15 = 4;
LAB_00121e65:
                    uVar13 = (*DAT_00159e20)(puVar11,lVar15);
                    uVar13 = uVar13 & 0xffffffff;
                    if (param_2 == 0) goto LAB_00121dca;
LAB_00121e76:
                    printf(" %8d",uVar13);
                  }
                  else {
                    uVar13 = 0;
                    if ((puVar11 < puVar2) &&
                       (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))
                    goto LAB_00121e65;
                    if (param_2 != 0) goto LAB_00121e76;
LAB_00121dca:
                    if ((undefined8 *)((long)puVar18 + 4U) < puVar2) {
                      lVar15 = 4;
LAB_00121e95:
                      uVar5 = (*DAT_00159e20)(puVar18,lVar15);
                      uVar12 = (ulong)uVar5;
                      if (7 < uVar5) {
                        uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);
                        warn(uVar14,uVar5);
                        goto LAB_00121dfa;
                      }
                    }
                    else {
                      if ((puVar18 < puVar2) &&
                         (lVar15 = (long)puVar2 - (long)puVar18, (int)lVar15 - 1U < 8))
                      goto LAB_00121e95;
                      uVar12 = 0;
                    }
                    local_f0[uVar12 + 1] = uVar13;
                  }
LAB_00121dfa:
                  puVar18 = (undefined8 *)((long)puVar18 + 4);
                  uVar4 = uVar4 + 1;
                  puVar11 = (undefined8 *)((long)puVar11 + 4);
                } while (uVar4 < uVar22);
                if (param_2 != 0) goto LAB_00121e1f;
              }
            }
            else {
              uVar13 = (ulong)((uVar4 + 0x3fffffff) * uVar3);
              puVar11 = (undefined8 *)(uVar13 + uVar19);
              if ((CARRY8(uVar13,uVar19)) || (puVar2 < puVar11)) goto LAB_00122050;
              uVar14 = FUN_001106c0(local_88,local_80,local_78);
              pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);
              printf(pcVar8,(ulong)uVar25,uVar14);
              if (uVar22 != 0) {
                local_f0 = (undefined8 *)(local_b0 + (ulong)(uVar4 - 1) * 0x88);
                goto LAB_00121d72;
              }
LAB_00121e1f:
              putchar(10);
            }
          }
        }
        else if ((puVar24 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)
                ) goto LAB_00121cdf;
        uVar25 = uVar25 + 1;
        puVar11 = puVar1;
        puVar24 = (undefined8 *)((long)puVar24 + 4U);
      } while (uVar25 < (uint)local_120);
      if (param_2 != 0) goto LAB_001224d4;
    }
    if (uVar22 != 0) {
LAB_001220c6:
      uVar23 = 0;
      puVar11 = puVar16;
      do {
        if ((undefined8 *)((long)puVar11 + 4) < puVar2) {
          lVar15 = 4;
LAB_0012210c:
          uVar6 = (*DAT_00159e20)(puVar11,lVar15);
        }
        else {
          uVar6 = 0;
          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))
          goto LAB_0012210c;
        }
        if (param_2 != 0) {
          uVar14 = FUN_001100d0(uVar6);
          printf(" %8s",uVar14);
        }
        uVar23 = uVar23 + 1;
        puVar11 = (undefined8 *)((long)puVar11 + 4);
      } while (uVar23 < uVar22);
      if (param_2 != 0) goto LAB_0012253d;
    }
    if (!bVar27) {
      return 1;
    }
  }
  else {
    pcVar8 = (char *)dcgettext(0,"  Offset table\n",5);
    printf(pcVar8);
    if (bVar28 == bVar26) {
      uVar14 = dcgettext(0,"signature",5);
    }
    else {
      uVar14 = dcgettext(0,"dwo_id",5);
    }
    printf("  slot  %-16s  ",uVar14);
    if (uVar22 != 0) {
      puVar11 = puVar16;
      do {
        puVar24 = (undefined8 *)((long)puVar11 + 4);
        if (puVar24 < puVar2) {
          lVar15 = 4;
LAB_001224a9:
          uVar6 = (*DAT_00159e20)(puVar11,lVar15);
        }
        else {
          uVar6 = 0;
          if ((puVar11 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))
          goto LAB_001224a9;
        }
        uVar14 = FUN_001100d0(uVar6);
        printf(" %8s",uVar14);
        puVar11 = puVar24;
      } while ((undefined8 *)((long)puVar16 + (ulong)(uVar22 - 1) * 4 + 4) != puVar24);
    }
    putchar(10);
    local_b0 = 0;
    if (bVar27) goto LAB_00121c31;
LAB_001224d4:
    putchar(10);
    pcVar8 = (char *)dcgettext(0,"  Size table\n",5);
    printf(pcVar8);
    if (bVar28 == bVar26) {
      uVar14 = dcgettext(0,"signature",5);
    }
    else {
      uVar14 = dcgettext(0,"dwo_id",5);
    }
    printf("  slot  %-16s  ",uVar14);
    if (uVar22 != 0) goto LAB_001220c6;
LAB_0012253d:
    putchar(10);
    if (!bVar27) goto LAB_00121928;
  }
  uVar23 = 0;
  do {
    if (puVar2 < local_e8 + 1) {
      local_88 = 0;
      local_80 = 0;
    }
    else {
      FUN_00137d20(local_e8,&local_88,&local_80);
    }
    if ((undefined8 *)((long)puVar9 + 4U) < puVar2) {
      lVar15 = 4;
LAB_001221df:
      iVar7 = (*DAT_00159e20)(puVar9,lVar15);
      if (iVar7 != 0) {
        if (param_2 == 0) {
          if (uVar22 != 0) {
LAB_00122220:
            uVar25 = 0;
            puVar11 = puVar16;
            puVar24 = (undefined8 *)(lVar17 + (ulong)((iVar7 + 0x3fffffff) * uVar3));
            do {
              if ((undefined8 *)((long)puVar24 + 4) < puVar2) {
                lVar15 = 4;
LAB_001222f5:
                uVar13 = (*DAT_00159e20)(puVar24,lVar15);
                uVar13 = uVar13 & 0xffffffff;
              }
              else {
                uVar13 = 0;
                if ((puVar24 < puVar2) &&
                   (lVar15 = (long)puVar2 - (long)puVar24, (int)lVar15 - 1U < 8)) goto LAB_001222f5;
              }
              if (param_2 == 0) {
                if ((undefined8 *)((long)puVar11 + 4U) < puVar2) {
                  lVar15 = 4;
LAB_00122305:
                  uVar4 = (*DAT_00159e20)(puVar11,lVar15);
                  uVar19 = (ulong)uVar4;
                  if (7 < uVar4) {
                    uVar14 = dcgettext(0,"Overlarge Dwarf section index detected: %u\n",5);
                    warn(uVar14,uVar4);
                    goto LAB_001222b6;
                  }
                }
                else {
                  if ((puVar11 < puVar2) &&
                     (lVar15 = (long)puVar2 - (long)puVar11, (int)lVar15 - 1U < 8))
                  goto LAB_00122305;
                  uVar19 = 0;
                }
                *(ulong *)(local_b0 + (ulong)(iVar7 - 1) * 0x88 + 0x48 + uVar19 * 8) = uVar13;
              }
              else {
                printf(" %8d",uVar13);
              }
LAB_001222b6:
              puVar11 = (undefined8 *)((long)puVar11 + 4);
              uVar25 = uVar25 + 1;
              puVar24 = (undefined8 *)((long)puVar24 + 4);
            } while (uVar25 < uVar22);
            if (param_2 != 0) goto LAB_001222dc;
          }
        }
        else {
          uVar14 = FUN_001106c0(local_88,local_80,local_78);
          pcVar8 = (char *)dcgettext(0,"  [%3d] 0x%s",5);
          printf(pcVar8,(ulong)uVar23,uVar14);
          if (uVar22 != 0) goto LAB_00122220;
LAB_001222dc:
          putchar(10);
        }
      }
    }
    else if ((puVar9 < puVar2) && (lVar15 = (long)puVar2 - (long)puVar9, (int)lVar15 - 1U < 8))
    goto LAB_001221df;
    uVar23 = uVar23 + 1;
    local_e8 = local_e8 + 1;
    puVar9 = (undefined8 *)((long)puVar9 + 4U);
  } while (uVar23 < (uint)local_120);
LAB_0012191c:
  if (param_2 == 0) {
    return 1;
  }
LAB_00121928:
  putchar(10);
  return 1;
LAB_00121a48:
  if (param_2 == 0) {
    uVar13 = (ulong)DAT_00159b90;
    if (DAT_00159b90 < DAT_00159b94) {
      DAT_00159b90 = DAT_00159b90 + 1;
      *(undefined4 *)(DAT_00159b98 + uVar13 * 4) = 0;
    }
    else {
      uVar14 = dcgettext(0,"Internal error: out of space in the shndx pool.\n",5);
      error(uVar14);
    }
  }
  else {
    putchar(10);
  }
  goto LAB_0012190b;
}

